繁体   English   中英

用户ID在所有OAuth提供程序中是否唯一?

[英]Is user id unique across all OAuth providers?

我的网站使用OAuth进行社交登录,我们需要为每个OAuth用户创建一个唯一的本地帐户,当前我们使用String ID作为每个唯一用户的身份,但是如果来自不同OAuth提供商的两个用户使用相同的ID,碰撞。

我的问题是:

  1. 用户ID在所有OAuth提供程序(例如Facebook,Twitter,Google ...)中是否唯一?
  2. 我看到有些提供程序使用String id,有些提供程序使用Long id,将long id转换为String并保持唯一性是否安全?

不可以,用户ID在所有OAuth提供程序中并不是唯一的,但是如果您将其与提供程序ID连接起来,那么它将是唯一的。

实现唯一性的最佳方法是使用OAuth提供程序作为前缀,

例如,如果Facebook返回的用户ID为xyz12345,则可以将userid用作facebook_xyz12345

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM