【问题标题】:OpenAm Manage multiple user credentials for the same userOpenAm 管理同一用户的多个用户凭据
【发布时间】:2014-10-16 06:54:28
【问题描述】:

假设一个新用户今天使用 Gmail-id 在我的网站上注册,并且在 OpenAM 中创建了一个用户名为 Gmail-id 的帐户。 假设将来同一用户使用 facebook 帐户登录我的网站。理所当然地,我知道用户之前已经在该网站上注册了 Gmail,并且我确切地知道他/她的 Gmail-id。

是否可以在不创建新帐户的情况下将两个用户凭据链接到同一个 OpenAM 帐户?

还有什么其他选择?

【问题讨论】:

  • 我想说您需要更改注册码(或者更好地建立自己的注册)并将 facebook 帐户 ID 作为属性添加到用户身份)。在身份验证中,您可以使用这两个 id 来搜索身份。

标签: openam


【解决方案1】:

我假设当您说“Gmail-id”时,您的意思是电子邮件地址。 Google 也有一个数字 ID 的概念,在这种情况下不会有建设性。

要进行此设置,您需要为每个 Google 和 Facebook 提供两个 OAuth 2 模块,并在用户个人资料中为电子邮件地址提供适当的范围,并且您需要设置帐户映射以映射从 Google 和 Facebook 到邮件属性的电子邮件地址,然后属性映射将具有相同的映射(以及其他适当的映射来获取用户名等)。

这意味着当用户返回 OpenAM 时,将查找具有 mail=[来自 Google/Facebook 的电子邮件] 的帐户,如果找到,将使用该帐户。如果未找到,将创建一个具有该电子邮件地址的帐户,供日后使用。

显然,您需要确定您信任 Facebook 提供的电子邮件地址代表您从 GMail 获得的身份,但听起来您对此很满意。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-04-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-15
    相关资源
    最近更新 更多