首页 文章

在Okta实施电子邮件验证

提问于
浏览
0

我们使用Okta作为IDM提供程序,并且正在尝试确定如何实现我们当前用于其中一个应用程序的特定用例 . 这是当前的应用程序流程:

  • 用户进入网站

  • 用户输入电子邮件和密码以创建帐户

  • 电子邮件通过验证链接发送到步骤2中输入的地址

  • 用户点击链接,IDM系统将其标记为已验证

  • 用户现在可以使用在步骤2中输入的凭据登录系统

在我们查看Okta用户创建流程时,我们只会看到为以下两个流程/ API调用发送的电子邮件:1 . 创建没有凭据或恢复问题的用户; 2.创建具有恢复问题的用户 .

所有其他流程(至少是我们所知道的流程)创建具有凭据的用户并立即激活用户并允许在不发送电子邮件的情况下登录 .

可以通过API调用的组合在Okta中创建上面的场景吗?基本上,我们可以创建一个用户并将其保持为“暂存”,直到他们点击验证电子邮件为止?或者这是一个高度自定义的场景?此外,我们没有使用多因素身份验证,因此我们没有选择它 .

谢谢!

1 回答

  • 1

    您可以使用两个API调用来实现此目的 . 首先是创建具有凭据的用户并将url中的参数设置为false . 这将创建具有凭据的用户,但用户的状态将为STAGED . 使用用户ID进行第二次调用,激活用户并将url中的sendEmail查询参数设置为true . 这将激活用户并将激活电子邮件发送到用户的主电子邮件地址 .

    请参阅下面的两个电话 .

    POST /api/v1/users?activate=false
    
    {
      "profile": {
        "firstName": "{{firstName}}",
        "lastName": "{{lastName}}",
        "email": "{{email}}",
        "login": "{{login}}"
      },
      "credentials": {
        "password" : { "value": "{{password}}$" }
      }
    }
    

    将使用status = STAGED创建用户 . 从此调用中获取用户ID . 使用此用户ID进行第二次呼叫 .

    POST /api/v1/users/{{userId_from_last_call}}/lifecycle/activate?    sendEmail=true
    

    请注意,第二个电话会将用户的状态设置为ACTIVE,并将激活电子邮件发送到用户的电子邮件地址 . 单击链接用户将被提示选择安全图像(如果尚未设置,则提示恢复问题) .

    如果用户使用电子邮件地址登录而不是单击激活电子邮件,将提示用户以相同方式设置安全性图像/问题 .

相关问题