SMS和电子邮件 MFA - Amazon Cognito

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

SMS和电子邮件 MFA

SMS电子邮件MFA确认用户在登录之前有权访问消息目的地。他们确认他们不仅可以访问密码,还可以访问原始用户的SMS消息或电子邮件收件箱。Amazon Cognito 要求用户提供您的用户池在成功提供用户名和密码后发送的短代码。

SMS而且,在您的用户向其个人资料中添加电子邮件地址或电话号码后,MFA无需对电子邮件进行其他配置。Amazon Cognito 可以向未经验证的电子邮件地址和电话号码发送消息。当用户完成第一步操作时MFA,Amazon Cognito 会将其电子邮件地址或电话号码标记为已验证。

MFA当用户在您的应用程序中MFA输入其用户名和密码时,身份验证就开始了。您的应用程序在调用InitiateAuthAdminInitiateAuthAPI请求的SDK方法中提交这些初始参数。API响应ChallengeParameters中的包含一个CODE_DELIVERY_DESTINATION值,表示授权码的发送地点。在您的应用程序中,显示一个表单,提示用户检查手机,并包含代码的输入元素。当他们输入验证码时,请在质询回复API请求中提交验证码以完成登录流程。

托管用户界面中使用用户名和密码登录后,系统会自动提示他们输入MFA代码。MFA

用户池使用您中的亚马逊简单通知服务 (AmazonSNS) 资源为其他 Amazon Cognito 通知发送SMS消息MFA和其他 Amazon Cognito 通知。 AWS 账户同样,用户池使用您账户中的亚马逊简单电子邮件服务 (AmazonSES) 资源发送电子邮件。这些关联服务在您的邮件传送 AWS 账单上自行产生费用。他们还对以生产批量发送消息有其他要求。有关更多信息,请参阅以下链接:

SMS和电子邮件的注意事项 MFA

  • 要允许用户使用电子邮件登录MFA,您的用户池必须具有以下配置选项:

    1. 高级安全功能已启用。有关更多信息,请参阅 用户池高级安全功能

    2. 您的用户池使用您自己的 Amazon SES 资源发送电子邮件。有关更多信息,请参阅 Amazon SES 电子邮件配置

  • 该MFA代码在您为应用程序客户端设置的身份验证流程会话持续时间内有效。

    当您在应用程序客户端和分析下修改应用程序客户端时,在 Amazon Cognito 控制台的应用程序集成选项卡中设置身份验证流程会话的持续时间。您还可以在CreateUserPoolClientUpdateUserPoolClientAPI请求中设置身份验证流程会话持续时间。有关更多信息,请参阅 用户池身份验证流程

  • 当用户成功提供了 Amazon Cognito 发送到未经验证的电话号码SMS或电子邮件地址的电子邮件中的代码时,Amazon Cognito 会将相应的属性标记为已验证。

  • 用户不能使用其访问令牌来更改与之关联的电话号码或电子邮件地址的值MFA。您的团队必须在AdminUpdateUserAttributesAPI请求中使用管理员 AWS 凭据更改这些值。

  • 用户要通过自助方式更改与之关联的电话号码或电子邮件地址的值MFA,他们必须使用访问令牌登录并授权请求。如果他们无法访问当前的电话号码或电子邮件地址,则无法登录。您的团队必须在AdminUpdateUserAttributesAPI请求中使用管理员 AWS 凭据更改这些值。

  • 在用户池SMS中进行配置后,您无法将SMS消息禁用为可用MFA因子。