护照个人资料ID

我使用passport.js为我的node.js应用程序提供OAuth身份validation。 但我有一个疑问:

当我在validation(当您定义OAuth策略时)收到configuration文件对象时,对于所有提供者是唯一的还是特定于该提供者?

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); } )); 

这是提供者所特有的。 在这种情况下,这将是Facebook的ID。

build议您创build自己的用户logging(在您select的数据库中),并将提供者ID与该logging相关联。 这样做也可以轻松实现“连接”帐户,因此用户可以链接其他帐户(如Facebook和Twitter),然后使用其中一个login。