1

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

4

1 に答える 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 に答える