2016-10-31 8 views
0

Мы используем Okta в качестве поставщика IDM и пытаемся определить, как выполнить конкретный прецедент, который мы в настоящее время используем для одного из наших приложений. Вот текущий поток приложения:Выполнение проверки по электронной почте в Okta

  1. Пользователь вводит вебсайту
  2. Пользователь вводит адрес электронной почты и пароль для создания учетной записи
  3. Электронная почта отправляется на адрес, указанный в шаге 2 со ссылкой для подтверждения
  4. Пользователь нажимает на ссылку и система IDM помечает их как проверенный
  5. Теперь пользователь может войти в систему, используя учетные данные, введенного на шаге 2

Поскольку мы смотрим на потоки создания пользователей Okta, мы видим только отправку электронных писем для следующих двух вызовов потоков/API: 1. Создайте пользователя без учетных данных или вопросов восстановления; 2. Создайте пользователей с вопросами восстановления.

Все остальные потоки (по крайней мере те, о которых мы знаем) создают пользователя с учетными данными и сразу же активируют пользователя и разрешают вход в систему без отправки электронной почты.

Можно ли создать сценарий выше в Okta с помощью комбинации вызовов API? В принципе, можем ли мы создать пользователя и сохранить его как «поэтапный», пока не нажмут на электронную почту проверки? Или это очень настраиваемый сценарий? Кроме того, мы не используем многофакторную аутентификацию, поэтому у нас нет этого в качестве опции.

Спасибо!

ответ

1

Для достижения этой цели вы можете использовать два вызова API. Сначала нужно создать пользователя с учетными данными и активировать параметр в URL-адресе, установленном на false. Это создаст пользователей с учетными данными, но статус для пользователя будет STAGED. Используйте идентификатор пользователя, чтобы сделать второй вызов, который активирует пользователя, и установите для параметра запроса sendEmail в URL-адресе значение true. Это активирует пользователя и отправит электронную почту активации на основной адрес электронной почты пользователя.

См. Два вызова ниже.

POST /api/v1/users?activate=false 

{ 
    "profile": { 
    "firstName": "{{firstName}}", 
    "lastName": "{{lastName}}", 
    "email": "{{email}}", 
    "login": "{{login}}" 
    }, 
    "credentials": { 
    "password" : { "value": "{{password}}$" } 
    } 
} 

Пользователь будет создан со статусом = STAGED. Получить идентификатор пользователя из этого вызова. Сделайте второй вызов, используя этот идентификатор пользователя.

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

Пожалуйста, обратите внимание, что второй вызов будет установлен статус пользователя, чтобы быть активным, а также отправить письмо с кодом активации на адрес электронной почты пользователя. При нажатии на пользователя ссылки будет предложено выбрать изображение безопасности (и вопрос восстановления, если он еще не установлен).

Если пользователь регистрируется с адресом электронной почты вместо нажатия на адрес электронной почты активации, пользователю будет предложено установить образ безопасности/вопрос таким же образом.

+0

Спасибо! Я ценю ваш вклад. Я экспериментировал с этим, и единственная проблема - время активации. В идеальном случае учетная запись активируется, когда пользователь нажимает на ссылку в письме, но это может или не может стать проблемой. – ewomack