我目前正在使用定义、创建和验证触发器处理自定义身份验证流程。但是,在流程中不会检查用户密码。我们在客户端上使用 USER_PASSWORD_AUTH 选项,因此没有 SRP。
我看到了这个问题Can I use the migration trigger in a Custom auth flow并且不太确定它是否回答了我的问题:
是否可以将自定义身份验证流程与用户名-密码(非 SRP)流程结合使用?如果是这样,我必须返回的挑战名称是什么?
这里声明可以使用组合,但在我看来 PASSWORD_VERIFIER 仅适用于 SRP 身份验证:
自定义身份验证流程还可以使用内置质询(例如 SRP 密码验证和通过 SMS 的 MFA)和自定义质询(例如 CAPTCHA 或秘密问题)的组合。
新用户由管理员创建。他们需要在首次登录时重置初始密码。我们将 Cognito 应用程序客户端配置为仅允许自定义身份验证流 (CUSTOM_AUTH_FLOW_ONLY)。但是当用户重置他们的密码时,身份验证流程结束,他们立即获得 id-、access- 和 refresh-token,不会发出任何自定义质询。
一个新用户当前正在运行此流程:
InitiateAuthRequest
用户名和 SRP_A,AuthFlow 设置为CUSTOM_AUTH
,就像正常登录一样。PASSWORD_VERIFIER
挑战。NEW_PASSWORD_REQUIRED
挑战由 Cognito 返回。我们要么希望流程在这里结束而不发出任何令牌,要么不在这里结束并继续定义身份验证挑战触发器调用。