私のアプリでは、Facebook とローカルの 2 つの戦略で Passport を使用しています。ユーザーがアプリへのログインに使用した戦略 (つまり、 Passport内の情報から判断する) を何らかの方法 (プロパティまたは状態変数) で特定することはできますか? req
ログインしているユーザーに関連付けられているプロバイダーを示すオブジェクトに、何らかのプロパティまたはその他の設定がありますか? 可能であれば、これを追跡するためにフロー変数を設定するよりも、Passport からこれを取得することを本当に好みます。
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 に答える