1

我正在使用 passport.js 为我的 node.js 应用程序提供 OAuth 身份验证。但我确实有一个疑问:

当我在身份验证时收到配置文件对象时(当您定义 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

它特定于提供者。在这种情况下,它将是 Facebook ID。

建议您创建自己的用户记录(在您选择的数据库中),并将提供者 ID 与该记录相关联。这样做还可以轻松实现“连接”帐户,因此用户可以链接其他帐户(例如 Facebook 和 Twitter),然后使用其中任何一个登录。

于 2012-08-07T05:41:41.503 回答