создать сервер аутентификации по одноразовому паролю - PullRequest
0 голосов
/ 06 ноября 2019

Проблема

В нашей системе у нас есть:

  • Два приложения: бэк-офис вactjs и приложение для пользователя в реагировать-родной
  • API (с postgres db)
  • Hubspot (информация о пользователе, номер телефона и т. Д.)

Мы хотим добавить сервер аутентификации, чтобы защитить наши пользовательские данные и разрешитьпользователь для подключения к мобильному приложению. Этот сервер будет предоставлять токены и связь между Hubspot (который несет пользовательскую информацию) и пользователем в базе данных API. БД будет хранить только идентификатор пользователя hubspot, идентификатор пользователя API и некоторую временную метку. Мы хотим использовать одноразовый пароль с помощью текстовых сообщений.

Рабочий процесс будет выглядеть примерно так:

  • пользователь хочет подключиться к приложению (впервые или нет). Приложение запрашивает номер телефона.
  • номер телефона отправляется серверу авторизации, который проверяет, существует ли он в hubspot. Если телефонный номер пользователя существует, но еще нет в базе данных, это означает, что нам нужно создать нового пользователя (в базе данных сервера аутентификации И в API). Если номер пользователя существует и уже есть в базе данных, делать нечего. В обоих случаях создается токен, и пользователь может подключиться (все еще нужно понять, как это сделать). Если в hubspot ничего не существует, пользователь не сможет пройти аутентификацию в приложении.

Вопросы

Я иду в правильном направлении? Создание сервера аутентификации, это хорошая идея или совершенно бесполезная? Должны ли мы реализовать нашу логику непосредственно в API? Система касается медицинской информации, и данные должны быть защищены.

Что касается OTP, что мы должны отправить пользователю, если номер телефона действительно существует? Токен аутентификации или случайная строка, требующая фактического токена?

...