Есть ли способ проверить, была ли создана новая учетная запись с помощью API аутентификации Okta? - PullRequest
0 голосов
/ 06 января 2019

Я хочу использовать Okta для безопасного хранения имен и паролей моих пользователей; тем не менее, они также имеют такую ​​информацию, как (в общем случае) возраст, день рождения, дата выпуска, интересы и т. д., которые также должны храниться.

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

Есть ли способ обнаружить это событие? Спасибо!

Если это очень окольный путь, у меня тоже все в порядке с новым подходом; тем не менее, я не вижу ничего плохого в моем текущем методе, если это действительно возможно.

Я использую Node и ExpressJS для связи с Okta, используя Express-session и промежуточное ПО oidc.

1 Ответ

0 голосов
/ 06 января 2019

Распространенным решением будет отделение данных профиля пользователя от их учетных данных. Итак, во-первых, у вас есть пользователь, чтобы создать учетную запись или войти с Okta. После того, как они вошли в систему, вы получаете данные их профиля. Если у пользователя нет данных профиля в вашем веб-приложении, вы заставляете пользователя заполнить наш профиль, прежде чем он сможет использовать веб-приложение.

Новый поток пользователей будет выглядеть так:

  1. Пользователь нажимает кнопку «Создать аккаунт»
  2. Пользователь вводит адрес электронной почты / пароль в Okta
  3. Ваш бэкэнд хранит пользовательский сеанс
  4. Ваш сервер пытается найти профиль пользователя для пользователя. Не найден (первый раз пользователь), поэтому он ограничивает маршруты, к которым пользователь может получить доступ.
  5. Ваш веб-интерфейс вынуждает пользователя заполнить профиль перед доступом к любым другим экранам
  6. Пользователь заполняет профиль и отправляет
  7. Профиль POST внешнего интерфейса для бэкенда, бэкэнд сохраняет его
  8. Фронтенд и бэкэнд снимают все ограничения, приложение продолжает работать как обычно
...