Есть ли способ проверить, была ли только что создана новая учетная запись с помощью Okta Authentication API?

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

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

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

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

Я использую Node и ExpressJS для связи с Okta с помощью экспресс-сеанса и промежуточного программного обеспечения oidc.

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
2
0
54
1

Ответы 1

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

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

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

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

Kurnal saini 06.01.2019 05:08

Вы можете сохранить имя пользователя как идентификатор или индекс, что позволит базе данных быстро его найти. Подумайте о хэш-картах!

nareddyt 06.01.2019 06:41

Другие вопросы по теме