无法在AWS Mobile Hub上切换用户池

时间:2018-03-22 00:09:26

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

我是一个AWS noob,我在应用程序上开始使用用户身份验证时遇到了一些问题。我正在开发一个简单的网络应用程序,我开始使用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通过控制台推送更改似乎不起作用,因为它从旧用户池中提取详细信息。

关于我做错的任何想法?

1 个答案:

答案 0 :(得分: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 Identity Pool,因此我们正在努力优先处理这些请求。

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