我的网站上有一组不错的现有用户,他们通过电子邮件地址作为用户名登录。
我正在设置 Facebook OAuth 机制以允许新用户更方便地注册,但我不确定如何处理已经在我们的系统中注册了电子邮件地址的用户现在尝试登录的情况通过 Facebook 。
- 我应该将他视为同一用户吗?
- 我应该像对待新用户一样对待他吗?
由于我没有验证他们的电子邮件地址(当他们直接登录到我的系统时),情况变得更加复杂,所以我不能假设他们是同一用户。
其他人如何解决这个冲突,或者其他人只是将这个通过 FB 连接的用户视为一个新实体?
最佳答案
在您的登录屏幕上,用户可以选择:您可以放置
- 新用户:使用 facebook 注册
因为这是一个全新的用户帐户,那么您只需要进行 facebook 连接 + 请求电子邮件权限等。
- 现有用户:通过邮箱登录
完成此操作后,让他们使用老式方式登录。然后登录后,提示他们将此电子邮件地址连接到他们的 Facebook 帐户。所以流程是通过电子邮件登录,然后是可选的 facebook 连接。
为此,我假设您已在数据库表中为 user_accounts 添加了一个字段,即 facebook_user_id 或 fb_id 或 user_id等。然后在 facebook 连接上,获取登录电子邮件,UPDATE table SET fb_id = xxx WHERE email = xx
关于facebook - 处理存在的用户,但尝试通过 Facebook OAuth/etc 登录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5919747/