【问题标题】:Unable to switch User Pools on AWS Mobile Hub无法在 AWS Mobile Hub 上切换用户池
【发布时间】:2018-08-31 06:59:48
【问题描述】:

我是一名 AWS 新手,在开始使用我的应用程序进行用户身份验证时遇到了一些问题。我正在开发一个简单的网络应用程序,并开始使用 awsmobile cli 和 aws-amplify 工具。

我在移动集线器上创建了一个新项目,并且能够成功注册、验证和登录用户,但是移动集线器创建的默认用户池强制使用用户名。我的应用程序中的用户名没有真正的用处,最终我只想使用电子邮件地址、名字和姓氏作为创建帐户的必填字段。

我找到了Answer from a member of the AWS developer experience,我按照推荐的步骤操作,但我现在在登录时遇到问题,因为在从客户端密码计算哈希时出现错误,请求被拒绝。

"Unable to verify secret hash for client ***********************6pl"

删除旧用户池后,我现在收到 No userPool 错误,这是有道理的,因为看起来新用户池尚未与身份池关联。

在移动集线器的用户资源视图中,我仍然可以看到旧用户池(即使我删除了它)。我已经更新了身份验证提供程序以匹配新用户池中的客户端 ID 和详细信息。

在我的客户端上,我手动修改了backend-details.json 文件以匹配新的用户池以及aws-exports.js 文件。使用 awsmobile push 通过控制台推送更改似乎不起作用,因为它会从旧用户池中提取详细信息。

关于我做错了什么有什么想法吗?

【问题讨论】:

    标签: amazon-web-services aws-mobilehub aws-amplify cognito


    【解决方案1】:

    错误Unable to verify secret hash for client 可能是由于在创建用户池应用程序时启用Generate Client Secret 导致的。目前,Javascript SDK 不支持具有客户端密码的应用程序。要禁用此功能,请在 Cognito 内的创建用户池表单中创建应用程序时取消选中 Generate client secret 复选框。

    No userPool 错误可能归因于 aws-exports.js 文件不包含新用户池的值。我会修改文件以包含新的池 ID。目前 Mobile Hub 不支持使用现有的用户池,因此当您通过控制台推送更改时,您仍然只能从 Mobile Hub 创建的用户池中获取详细信息。

    如果这有助于解决您的问题,请告诉我。正如 Andrew 所说,我们有几个客户要求能够重新使用他们的 Cognito 用户池和 Cognito 身份池,因此我们正在努力对这些请求进行优先排序。

    此致
    丹G
    AWS 移动开发人员体验

    【讨论】:

    • 谢谢 Dan,我会试试这些选项。暂时我可以通过禁用通过电子邮件登录的功能并使用电子邮件地址作为用户名来开始,这并不理想。
    猜你喜欢
    • 2017-10-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-21
    • 2018-03-30
    • 1970-01-01
    相关资源
    最近更新 更多