护照在Node-Express应用程序中如何工作

时间:2018-12-24 18:10:25

标签: node.js express passport.js

我了解了如何在Node Express中使用通行证,但是几乎没有什么让我感到困惑的。

至少可以说,我创建了一个像这样简单的护照策略

  passport.use(new GoogleStrategy({
    clientID: process.env.GOOGLE_CLIENT_ID,
    clientSecret: process.env.GOOGLE_CLIENT_SECRET,
    callbackURL:  process.env.GOOGLE_CALLBACK_URL,
    userProfileURL: 'https://www.googleapis.com/oauth2/v3/userinfo'
  }, (accessToken, refreshToken, profile, cb) => {
      console.log(profile)
    // Extract the minimal profile information we need from the profile object
    // provided by Google

    cb(null, extractProfile(profile));
  }));

现在,要在我的身份验证路由中使用此策略,我必须在我的路由中将其导出

const passport = require('passport')
const passportGoogle = require("./../auth/google.js")

然后使用

router.get("/google",  passport.authenticate('google', { scope: ['profile', 'email'] }));
router.get("/google/callback", passport.authenticate('google'), (req, res) => {
  console.log(req)
      res.redirect(process.env.CLIENT_ADDRESS)
  })

this question,起,我意识到我们不需要导出护照中的任何东西,因为我们使用的是 singleton ,但是为什么我们需要导入

const passportGoogle = require("./../auth/google.js")

当我们在身份验证路由中不对其进行任何处理时?

0 个答案:

没有答案