1

passport.jsを使用して、node.jsアプリにOAuth認証を提供しています。しかし、私には1つの疑問があります。

認証時にプロファイルオブジェクトを受け取ったとき(OAuth戦略を定義したとき)は、すべてのプロバイダーに固有ですか、それともそのプロバイダーに固有ですか?

passport.use(new FacebookStrategy({
    clientID: conf.fb.appId,
    clientSecret: conf.fb.appSecret,
    callbackURL: "http://local.host:3000/auth/facebook/callback"   },   function(accessToken, refreshToken, profile, done) {
    var user = users[profile.id] || 
                (users[profile.id] = { id: profile.id, name: profile.username });
    done(null, user);   } ));
4

1 に答える 1

1

これはプロバイダーに固有です。この場合、FacebookIDになります。

(選択したデータベースに)独自のユーザーレコードを作成し、プロバイダーIDをそのレコードに関連付けることをお勧めします。これを行うと、「接続」アカウントの実装も簡単になるため、ユーザーは他のアカウント(FacebookやTwitterなど)をリンクして、どちらかを使用してログインできます。

于 2012-08-07T05:41:41.503 に答える