【问题标题】:AWS Cognito verification email not received by user account用户账户未收到 AWS Cognito 验证电子邮件
【发布时间】:2018-02-17 05:08:24
【问题描述】:

在用户池中创建用户时,会使用临时密码发送用户邀请消息,但不会发送电子邮件验证消息。
我正在创建一个非常简单的设置来试用 aws cognito 服务。 这是我在 AWS cognito 中所做的,我逐步创建了一个用户池,如下所示:
1)你想给你的用户池起什么名字?
-> 测试池

2)你想如何创建你的用户池?
-> 逐步完成设置

3)您希望最终用户如何登录?
->电子邮件地址或电话号码-允许电子邮件地址

4)您需要什么密码强度?
->最小长度=6

5)你想让用户自己注册吗?
->允许用户自己注册

6) 管理员创建的用户帐户如果不使用应该多久过期?
->到期天数-7

7)是否要启用多重身份验证 (MFA)?
->关闭

8)您是否需要验证电子邮件或电话号码?
->电子邮件

9)您必须提供一个角色以允许 Amazon Cognito 发送 SMS 消息
->testpool-SMS-角色

10)您想自定义您的电子邮件验证消息吗?
->验证类型-链接
->电子邮件主题 = 您的验证链接
-> 电子邮件信息 = 请单击下面的链接以验证您的电子邮件地址。 {##验证电子邮件##}

11)您想自定义您的用户邀请消息吗?
-> SMS message = 您的用户名是 {username},临时密码是 ->{####}。
->电子邮件主题 = 您的临时密码
-> 电子邮件消息 = 您的用户名是 {username},临时密码是 {####}。

12)您想自定义您的电子邮件地址吗?
->没有

13)您要为此用户池添加标签吗?
->没有

14)您想记住用户的设备吗?
->没有

15) 哪些应用客户端将有权访问此用户池?
->无(将在一般设置-用户和组中模拟创建用户选项)

16)您想使用触发器自定义工作流程吗?
->没有

17)评论页面 - 此页面显示我选择的任何内容的摘要 创建池

现在在池创建后进入常规设置-用户和组并点击创建用户 创建用户弹出窗口显示:
用户名(必填):myEmailAddress
向这个新用户发送邀请?:检查
临时密码:留空
电话号码:空(非必填)
将电话号码标记为已验证?取消选中
电子邮件:myEmailAddress
将电子邮件标记为已验证?取消选中
点击创建用户

我的帐户通过 amazonses.com 收到一封邮件,表单 no-reply@verificationemail.com,
主题:您的临时密码
,消息为:您的用户名是 somemailid@gmail.com,临时密码是 agsjyk。
没关系。

但在上一封邮件之前,我没有收到任何验证邮件链接。

【问题讨论】:

    标签: amazon-web-services aws-lambda amazon-cognito


    【解决方案1】:

    不确定您是否缺少此特定设置....链接验证需要域名。 在“标签集成”下,然后是“域名”

    【讨论】:

    • 仍然面临问题
    • 这个问题解决了吗?我遇到了同样的问题,我已经验证了域。
    【解决方案2】:

    我的帐户通过 no-reply@verificationemail.com 收到一封邮件
    amazonses.com, 带有主题:您的临时密码 消息为:您的用户名是 somemailid@gmail.com,临时密码是 > agsjyk。

    看起来您似乎是通过 Cognito API 通过 AdminCreateUser 方法创建用户,这就是您收到临时密码的原因。

    只有在用户自己注册时才会发送您所期望的确认电子邮件,因此您应该使用 SignUp 方法。

    【讨论】:

      【解决方案3】:

      验证邮件链接用于当用户注册时,他们将收到一个链接,要求他们验证电子邮件地址而不是验证码。在您的情况下,您将向用户发送一个临时密码,因此链接不会显示。

      【讨论】:

      • 您好,感谢您的回复。实际上,正如您在第 10 点中看到的那样 - 我选择验证类型作为链接。另外我想知道这是否只有在我们使用 SES api 发送验证链接并将所有电子邮件(我的应用程序用户的)存储在其中时才可行。
      【解决方案4】:

      您需要在隐身服务的这一部分添加一个域:

      另外,如果您没有收到电子邮件,请单击用户并检查他们的电子邮件,这可能是错误的。

      【讨论】:

        【解决方案5】:

        如果其他人遇到此问题,如果您使用 SAML 或联合身份提供商,您似乎无法发送验证电子邮件。 Cognito 将 cognito 用户设置为 EXTERNAL_PROVIDER,并且没有 Cognito API 调用允许发送验证码或链接。 cognito 用户是在初始登录时自动创建的。我将我的用户池设置为验证电子邮件地址,但它始终设置为 false。

        我知道通过 SSO 确认用户的唯一方法是使用 cognito 之外的外部验证过程。

        【讨论】:

          猜你喜欢
          • 2021-10-21
          • 2018-03-02
          • 2022-08-07
          • 2018-01-01
          • 2020-09-30
          • 2020-05-13
          • 2019-10-07
          • 2017-09-13
          • 2020-03-12
          相关资源
          最近更新 更多