【问题标题】:How to map phone number with Cognito User Pool Federated to Google如何使用联合到 Google 的 Cognito 用户池映射电话号码
【发布时间】:2018-09-09 05:18:47
【问题描述】:

根据Scopes for Google SignIn,没有“电话”范围,唯一的范围是openid、电子邮件、个人资料。

我的 Cognito 用户池有一个电话用户属性,它是必需的。

对于直接在用户池中注册的用户,他们在亚马逊的托管 UI 中输入他们的电话号码,该 UI 会在注册表单中显示一个电话字段,一切都很好。

对于通过 Google 注册的用户,他们会收到错误消息。我已经将其追溯到 Google 没有通过 phone_number 发送并且从 Google 到用户池属性的映射失败的事实。如果我创建一个新池,它不需要与 Google 的 phone_number 联合,那么我需要该属性的那一刻它会失败,尽管我测试的 Google 帐户有一个 phone_number。

使用 Google 联合到 Cognito 用户池登录时真的无法映射手机吗?

托管的注册 UI 是否可以为我的 Google 用户显示一个字段,要求他们填写他们通过 Google 进行身份验证和重定向到我的重定向 URL 的托管 UI 之间的电话号码?

替代解决方案?

【问题讨论】:

  • 您好 mipnw,您找到解决方案了吗?我在这里遇到了同样的问题。
  • 那是大约一年前的事了,所以我不记得这个特定问题的确切结果了。我认为 AWS 用户池的这个问题是我在使用 AWS 时遇到的许多问题之一,例如应用程序身份验证、奇怪的 OAUTH 行为、糟糕的文档、糟糕的移动 API,最终我完全放弃了 AWS 身份验证。
  • 即使我遇到了同样的问题。即使我们在用户池的身份提供者中添加 googleapis.com/auth/user.phonenumbers.read,它仍然会寻找电话号码。 Google Contacts API 发送电话号码,但 google 的手机号码格式与 cognito 不同,因此 cognito 会抛出 invalid phone number format
  • 您好遇到同样的问题,您能找到任何解决方案吗?尝试在 google 控制台中添加 googleapis.com/auth/user.phonenumbers.read 范围并将其映射到我的 aws 帐户中,但它会在无法找到电话号码的情况下引发错误。有什么解决办法吗?

标签: amazon-web-services google-signin amazon-cognito aws-cognito


【解决方案1】:

现在 AWS 提供电话范围

步骤 1 转到用户池的应用客户端设置页面。 第 2 步点击电话选项。

Step-3进入用户池的属性映射页面页面。

Step-4 将外部身份提供者的属性映射到用户池属性。 (我正在使用谷歌)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-07-07
    • 2017-02-28
    • 2018-11-07
    • 2018-02-11
    • 2017-02-18
    • 1970-01-01
    • 2018-02-26
    • 2017-12-28
    相关资源
    最近更新 更多