我正在通过不同的社交网络为我的网站验证用户。
为他们提供了通过社交网络登录和注册等设施
现在的问题是,如果用户A有一个facebook帐户,用户名是"userme",另一个用户使用我的网站自己的注册系统,用户名是"userme",如果
在登录我的网站时显示"用户A在用户B之后注册"
在注册期间,用户B将被提醒没有"userme",因为它已经被占用了,但如果用户A"登录",他将永远不会被提醒,因为这是一个facebook认证。
如果我知道什么是错误的,请纠正我或给一个解决方案。
复合数据方法
考虑到社交登录的工作方式,如果您使用隐藏的组合用户名(如Marc B所建议的)存储帐户可能会更好。手动注册的用户将看到他们的用户名为myuser
-但一个单独的标识(唯一ID)字段将其存储为myOwn_myuser
或fb_myuser
。
完全分离方法
将他们的Facebook用户名与你的网站用户名分开。你可能过早地给了他们一个ID,而你最好在他们第一次登录后让他们确认他们的facebook用户名是他们的你的网站用户名。当一个Facebook用户(最初)登录到您的站点,并且他们建议的用户名已经被一个现有用户使用时,您可以提示他们创建一个新用户名,或者生成一个新用户名(myuser2
)。