Oauth 2:access_token 是用户的唯一密钥吗?
用户与 Facebook 连接后,Facebook 会返回一个 access_token
。
我可以假设此 access_token
将始终保持不变并且对于每个用户都是唯一的吗?
如果是这样,那么我可以使用它在我的数据库中查找用户,如果找不到,则创建一个新用户。
如果没有,有没有办法让 Facebook 在连接后立即向您发送回 user_id
(带有 access_token
),这样我就不必再次发出请求/me?fields=id
是吗?
After a user connects with Facebook, Facebook responds with an access_token
.
Can I assume this access_token
will always stay the same and is unique for every user?
If so, then I can use it to find the user in my database, and if not found, create a new user.
If not, is there a way to ask Facebook to also send you back user_id
(with the access_token
) right after connecting so that I don't have to make another request to /me?fields=id
for it?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您应该使用他们的
id
作为唯一标识符。access_token
是唯一的,但您每次请求时都会获得一个新的。You should use their
id
as a unique identifier. Theaccess_token
is unique, but you'll get a new one every time you request one.OAuth access_token 可以在 2 个以上令牌颁发者期间重复。
它仅在令牌发行者(本例中为 facebook.com)中是唯一的。
由于 facebook token 足够长,所以很少会出现 token 重复的情况。
OAuth access_token can be duplicated during 2+ token issuers.
It is unique only in the token issuer (facebook.com in this case).
Since facebook token is enough long, token duplicates will rarely happen though.