1

我在使用护照 js 在角度前端和节点端登录 LinkedIn 时遇到问题。我想这可能是由于 3 月 1 日之后 LinkedIn 的政策发生了变化。我有以下三个文件

服务器文件

app.set('view engine', 'ejs');
// initialize passport
app.use(passport.initialize());
app.use(passport.session());

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

  // create home route 
  app.get('/', (req, res) => {
   res.render('home');
   });

  app.listen(3000, () => {
    console.log('app now listening for requests on port 3000'); 
  });

路由文件

 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');
 });

router.get('/google',
 passport.authenticate('linkedin'),
   function(req, res){
 // The request will be redirected to LinkedIn for authentication, so this
 // function will not be called.
 });

  router.get('/linkedin/callback', passport.authenticate('linkedin'), (req, 
 res) => {
 res.send(req.user);
// res.redirect('/profile');
});
module.exports = router;

Paasport 设置文件

 const passport = require('passport');
 const LinkedInStrategy = require('passport-linkedin-oauth2').Strategy;
 passport.use(new LinkedInStrategy({
          clientID: LINKEDIN_CLIENT_ID,
         clientSecret: LINKEDIN_CLIENT_SECRET,
         callbackURL: "http://localhost:3000/auth/linkedin/callback",
         scope: ['r_emailaddress','r_liteprofile'],
 }, function(accessToken, refreshToken, profile, done) {
 // asynchronous verification, for effect...
 process.nextTick(function () {
 return done(null, profile);
   });
 }));
4

0 回答 0