在Okta实施电子邮件验证

时间:2016-10-31 18:15:11

标签: api authentication okta

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

  1. 用户进入网站
  2. 用户输入电子邮件和密码以创建帐户
  3. 电子邮件将通过验证链接
  4. 发送到步骤2中输入的地址
  5. 用户点击链接,IDM系统将其标记为已验证
  6. 用户现在可以使用在步骤2中输入的凭据登录系统
  7. 在我们查看Okta用户创建流程时,我们只会看到为以下两个流程/ API调用发送的电子邮件:1。创建没有凭据或恢复问题的用户; 2.创建具有恢复问题的用户。

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

    上面的场景是否可以通过API调用的组合在Okta中创建?基本上,我们可以创建一个用户并将其保持为" staged"直到他们点击验证电子邮件?或者这是一个高度自定义的场景?此外,我们不使用多重身份验证,因此我们不会将其作为一种选择。

    谢谢!

2 个答案:

答案 0 :(得分: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,并将激活电子邮件发送到用户的电子邮件地址。单击链接用户将被提示选择安全图像(如果尚未设置,则提示恢复问题)。

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

答案 1 :(得分:1)

进行第二次呼叫/ api / v1 / users / {{userId_from_last_call}} / lifecycle / activate不会在激活用户之前对其进行验证。

我需要的是

"2014-01-01"

似乎无法找到一种解决方法