相关疑难解决方法(0)

在 AWS Cognito 中回答 NEW_PASSWORD_REQUIRED 质询后继续自定义身份验证流程

新用户由管理员创建。他们需要在首次登录时重置初始密码。我们将 Cognito 应用程序客户端配置为仅允许自定义身份验证流 (CUSTOM_AUTH_FLOW_ONLY)。但是当用户重置他们的密码时,身份验证流程结束,他们立即获得 id-、access- 和 refresh-token,不会发出任何自定义质询。

  • 我如何引导流程以继续我的自定义挑战流程,而不是发行令牌?
  • 如果令牌在重置初始密码后不会在响应中发送,它也会起作用,因此用户必须再次登录。

一个新用户当前正在运行此流程:

  1. 目前,对于新用户,我们发送InitiateAuthRequest用户名和 SRP_A,AuthFlow 设置为CUSTOM_AUTH,就像正常登录一样。
  2. 我们的 DefineAuthChallengeLambda 被击中,发出PASSWORD_VERIFIER挑战。
  3. 客户端使用 srp 声明、用户名和时间戳来响应身份验证质询。
  4. Cognito 验证响应并发现用户必须更改其密码。我们的 lambda 触发器被跳过,NEW_PASSWORD_REQUIRED挑战由 Cognito 返回。
  5. 客户端使用新密码响应身份验证质询,Cognito 接受密码并发出令牌,这不是我们想要的。

我们要么希望流程在这里结束而不发出任何令牌,要么不在这里结束并继续定义身份验证挑战触发器调用。

amazon-cognito

4
推荐指数
1
解决办法
1509
查看次数

标签 统计

amazon-cognito ×1