我的应用程序使用 Passport 和两种策略:Facebook 和 Local。是否有可能以某种方式(某些属性或状态变量)确定用户用于登录应用程序的策略(即,根据Passport 中的某些信息确定)?req
指示与登录用户关联的提供者的对象中是否有某些属性或其他设置?如果可能的话,真的更愿意从 Passport 中获取它,而不是设置我的 ow 变量来跟踪它。
问问题
86 次
1 回答
3
Passport 中没有直接提供。我在一个应用程序中做了类似的事情,只是在登录路由上使用了额外的中间件来跟踪与会话相关的信息,例如使用了什么提供程序。它看起来像:
app.get('/auth/facebook/callback',
passport.authenticate('facebook', { failureRedirect: '/login' }),
function(req, res, next) {
req.session.loggedInWith = 'facebook';
next();
},
function(req, res) {
// Successful authentication, redirect home.
res.redirect('/');
});
于 2013-11-05T23:35:01.337 回答