Passport-auth0访问accessToken

时间:2016-06-30 13:01:29

标签: express passport.js auth0

因为有时候我使用auth0和express。但现在我有一个问题。 这就是我的代码的样子:

var passport = require('passport');
var Auth0Strategy = require('passport-auth0');

var strategy = new Auth0Strategy({
    domain: '',
    clientID: '',
    clientSecret: '',
    callbackURL: '/loginapi/callback'
}, function (accessToken, refreshToken, extraParams, profile, done) {
    // accessToken is the token to call Auth0 API (not needed in the most cases)
    // extraParams.id_token has the JSON Web Token
    // profile has all the information from the user
    return done(null, profile);
});

passport.use(strategy);

// This is not a best practice, but we want to keep things simple for now
passport.serializeUser(function (user, done) {
    done(null, user);
});

passport.deserializeUser(function (user, done) {
    done(null, user);
});

module.exports = strategy;

但是如何在像user元素这样的快速请求中访问accessToken。我真的不知道怎么样,但我已经尝试了一些东西。

尼尔斯

1 个答案:

答案 0 :(得分:5)

我得到了它们!

var strategy = new Auth0Strategy({
    domain: '',
    clientID: '',
    clientSecret: '',
    callbackURL: '/loginapi/callback'
}, function (accessToken, refreshToken, extraParams, profile, done) {
    // accessToken is the token to call Auth0 API (not needed in the most cases)
    // extraParams.id_token has the JSON Web Token
    // profile has all the information from the user
    var info = {
        "profile": profile,
        "accessToken": accessToken,
        "refreshToken": refreshToken,
        "extraParams": extraParams
    };
    return done(null, info);
});

现在我可以使用req.user对象访问accessToken。