Как работает паспорт в приложении Node-express - PullRequest
0 голосов
/ 24 декабря 2018

Я понял, как использовать паспорт в 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)
  })

С этого вопроса Я понял, что нам не нужно ничего экспортировать в паспорте, потому что мы используем singleton но тогда зачем нам импортировать

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

, когда мы ничего с ним не делаем в наших аутентификационных маршрутах ?

...