放置ClientID /秘密MERN的位置

时间:2019-05-23 00:57:55

标签: node.js reactjs express oauth key

本质上,我想将带护照的Google Oauth2.0添加到我的Web应用程序中。 目前,我在带有express的后端中安装了Oauth,并希望前端对其进行访问。

想知道我是否应该只在前端调用Oauth并将令牌解析到后端以更新数据库等。

截至目前,我的客户端已经具有对express运行的端口的代理。

我已经尝试在react前端访问在后端中设置的路由,希望它将把我发送到后端中设置的页面,但只会加载我的默认页面路由。

这是我的快速后端路线

async componentDidMount(){

      getdata  = await this.getData()
       alert(getdata);

       if (getdata === true){
           this.setState({
            dialogVisible2:true
           });
       }
   }

这是我的明确index.js

const router = require('express').Router();
const passport = require('passport');

// auth login
router.get('/login', (req, res) => {
    res.render('login', { user: req.user });
});

// auth logout
router.get('/logout', (req, res) => {
    // handle with passport
    res.send('logging out');
});

// auth with google+
router.get('/google', passport.authenticate('google', {
    scope: ['profile']
}));

// callback route for google to redirect to
// hand control to passport to use code to grab profile info
router.get('/google/redirect', passport.authenticate('google'), (req, res) => {
    res.redirect(req.user)
});

module.exports = router;

这是我的password.config,可将用户保存到数据库中

const app = express();

app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));

// set up session cookies
app.use(cookieSession({
    maxAge: 24 * 60 * 60 * 1000,
    keys: [keys.session.cookieKey]
}));

// initialize passport
app.use(passport.initialize());
app.use(passport.session());


//MongoDB Database Setup
require('./models/db.js');


//routing Setup

// set up routes
app.use('/auth', authRoutes);

var routes = require('./routes/routes.js');
app.use('/', routes);

// The "catchall" handler: for any request that doesn't
// match one above, send back React's index.html file.

const port = process.env.PORT || 5000;
app.listen(port);

除了我试图在不公开键的情况下在前端调用它,对数据库的调用之后,它保存了,但浏览器返回了未经授权的页面。

感谢任何帮助:),(对不起,我真的没有使用stackoverflow我的格式看起来很糟糕)

0 个答案:

没有答案
相关问题