使用 passportjs 显示 Linkedin 用户的电子邮件地址

Displaying email address of Linkedin User using passportjs

我正在尝试检索 email address, 'first-name', 'last-name', 'email-address','public-profile-url' and profile pic

但是,它没有显示。我的代码如下:

passport.use(new LinkedInStrategy({   
    consumerKey: LINKEDIN_API_KEY,
    consumerSecret: LINKEDIN_SECRET_KEY,
    callbackURL: "http://localhost:3000/auth/linkedin/callback",
    scope: ['r_emailaddress', 'r_basicprofile'],
    profileFields: ['id', 'first-name', 'last-name', 'email-address','public-profile-url'],    
    state: true    
    },
    function(token, refreshToken, profile, done) {
        console.log ("PROFILE "+profile.id, token, profile.displayName ,profile.emails[0].value);
        process.nextTick(function() {    
            return done(null,profile);                                
        });    
    })
);

前端已开启 JADE

if user
    | #{user.id}
    | #{user.r_emailaddress}
    a(href='/logout') logout with LinkedIn

注意:email address 不会显示,'first-name'、'last-name'、'email-address'、'public-profile-url' 也不会显示。我该如何解决这个问题?

一切似乎都可以在代码的 NodeJS 后端找到。通过用 #{user.emails[0].value} 替换 #{user.r_emailaddress} 给了我用户的主要电子邮件地址。