放大“无法验证客户端的秘密哈希”

Arl*_*rie 4 amazon-cognito aws-amplify

我们一直在使用Amplify和Cognito为部署到Lambda的Angular6应用程序注册用户。客户端希望从电子邮件过渡到用户名作为主要用户标识。因此,我们创建了一个新的用户池/客户端。我看不到配置设置,只是获得了新的用户池,身份池和客户端ID。然后,我将应用程序注册的代码更改为如下所示:

  return from(Auth.signUp({
  'username': username, // was email
  'password': password, 
  attributes: { // added these
    'email': email,
    'phone_number': phone_number,
    'family_name': name,
    'birthdate': DOB,
    'custom:last_4_ssn': SSN // custom attribute
  }}));
Run Code Online (Sandbox Code Playgroud)

没有做出其他任何更改的响应是:无法验证客户端的秘密哈希。Google声称问题在于,secretAccess当前是不受支持的配置,但是可以访问这些服务的人向我发誓,在我们的设置中没有配置secretAccess。

抱歉,我无法访问该配置,但是还有其他可能的原因会收到此错误吗?

Zac*_*ach 7

该错误可能是由于您所连接的应用程序客户端具有关联的密钥这一事实引起的。创建用户池应用程序客户端时,默认情况下会生成一个秘密: 在此处输入图片说明

现在,使用React-Native Amplify,您必须使用没有生成密钥的应用程序客户端。因此,当您创建具有所需属性的新应用程序客户端时,请确保未选中“生成客户端密码”框。