我正在使用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); } ));
答案 0 :(得分:1)
它特定于提供者。在这种情况下,它将是Facebook ID。
建议您创建自己的用户记录(在您选择的数据库中),并将提供者ID与该记录相关联。这样做也可以轻松实现“连接”帐户,因此用户可以链接其他帐户(比如Facebook和Twitter),然后使用其中一个登录。