【发布时间】:2019-06-17 00:56:05
【问题描述】:
管理员创建了一个新用户。他们需要在首次登录时重置初始密码。我们将 Cognito 应用程序客户端配置为仅允许自定义身份验证流程 (CUSTOM_AUTH_FLOW_ONLY)。但是当用户重置密码时,身份验证流程结束,他们立即获得 id-、access- 和 refresh-token,不会发出任何自定义挑战。
- 如何引导流程继续我的自定义质询流程,而不是颁发令牌?
- 如果令牌在重置其初始密码后不会在响应中发送,它也会起作用,这样用户必须重新登录。
一个新用户当前正在运行此流程:
- 目前,对于新用户,我们发送
InitiateAuthRequest以及用户名和 SRP_A,AuthFlow 设置为CUSTOM_AUTH,就像正常登录一样。 - 我们的 DefineAuthChallengeLambda 被命中,发出
PASSWORD_VERIFIER质询。 - 客户端使用 srp 声明、用户名和时间戳来响应身份验证质询。
- Cognito 验证响应并发现用户必须更改其密码。我们的 lambda 触发器被跳过,
NEW_PASSWORD_REQUIRED质询由 Cognito 返回。 - 客户端使用新密码响应身份验证挑战,Cognito 接受密码并颁发令牌,这不是我们想要的。
我们要么希望流程在此结束而不发出任何令牌,要么不希望在此结束并继续定义身份验证质询触发器调用。
【问题讨论】:
标签: amazon-cognito