OAuth和共享电子邮件地址

时间:2013-08-21 12:35:13

标签: authentication login oauth

在我们的申请中,我们不使用电子邮件地址作为用户名/登录,因此,我们累积了大量具有重复电子邮件地址的帐户(通常是丈夫/妻子对,他们共享相同的地址) ,但应用程序中的单独帐户。)

我们希望将OAuth登录(Facebook,Twitter,Google等)作为我们用户的特权,我们目前正在研究重构的选项,以便实现这一目标。

我的问题是 - 有没有办法允许OAuth登录而不强制我们的每个帐户都有唯一的电子邮件地址?

1 个答案:

答案 0 :(得分:1)

在提供了更多有关要求的见解后,我已经改变了我之前的答案。如果我是你,我会这样做 -

  1. 用户点击通过Facebook登录,并在其凭证中输入密钥。
  2. 我的应用获取了访问令牌。
  3. 我会点击FB图API的/me端点来检索用户信息和唯一用户ID。
  4. 一旦我拥有唯一的用户ID,我会检查自己的数据库是否有该用户的条目。如果我有两个条目,我将给用户另一个弹出窗口,以选择他希望登录的帐户并输入密码。
    (因此,我的数据库应该有<userID, list of mapped accounts>个条目。)
  5. 如果用户决定创建一个新帐户并通过Facebook登录,我会重复步骤1-3并创建一个新的<username, password>对并将其添加到映射帐户列表中。

    如果您要我详细说明,请添加评论。