You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Cognito:取消登录OTP,仅注册时发送(USER_PASSWORD_AUTH流)

取消USER_PASSWORD_AUTH登录环节OTP验证,仅保留注册时发送OTP的配置方案

针对你使用USER_PASSWORD_AUTH认证流程,希望取消登录OTP、仅注册时发送验证码的需求,以下是具体操作步骤(以AWS Cognito为例,这是该认证流程的典型应用场景):

1. 调整用户池MFA全局配置

  • 进入Cognito控制台,定位到你的目标用户池
  • 切换到MFA和验证标签页
  • 在「多重身份验证(MFA)」区域,选择关闭选项。这一步是核心——登录环节的OTP本质是MFA验证,全局关闭后所有用户登录时都不会触发OTP要求
  • 注意:如果用户池曾设置「用户必须设置MFA」,务必同时关闭该选项,否则已有开启MFA的用户登录仍会被要求验证

2. 保留注册环节的OTP验证配置

  • 同样在MFA和验证标签页,找到「验证消息」区域
  • 确认注册流程的验证方式已配置为「发送验证码到邮箱/电话」(根据你的用户属性选择对应渠道)
  • 这里的OTP是用于验证用户注册时提供的邮箱/手机号真实性(即标记email_verified或phone_number_verified属性),和登录MFA是独立的两个配置,只要保留此设置,注册时就会自动发送验证码

3. 检查客户端代码逻辑(若涉及)

  • 如果使用Cognito SDK调用认证接口,确保客户端的authFlow参数仍为USER_PASSWORD_AUTH,不要额外添加MFA相关的触发逻辑
  • 检查InitiateAuth等登录接口的处理代码,移除任何强制触发MFA验证的分支逻辑

4. 测试验证

  • 使用已注册用户发起登录请求,确认无需输入OTP即可直接完成登录
  • 注册新用户,确认会收到OTP验证码,完成验证后才能成功创建用户

额外注意事项

  • 若部分用户已手动开启MFA,需要批量或单独关闭这些用户的MFA状态(可通过Cognito控制台、CLI或SDK的AdminSetUserMFAPreference接口操作)
  • 注册环节的OTP验证属于用户属性验证,而非MFA,两者互不干扰,只需确保前者的配置保留即可

内容的提问来源于stack exchange,提问作者vjflcr

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 05:50:23