0

У меня есть веб-приложение, в котором пользователи регистрируются в Google (OAuth 2.0). Это веб-приложение использует API REST (figo.io) в фоновом режиме, поэтому мне нужно создать пользователя API с учетными данными.Как безопасно генерировать и хранить пароль из пользовательских данных Google OAuth для API REST

Теперь у меня есть следующая проблема: мне нужно создать имя пользователя и пароль из ниоткуда. Имя пользователя тривиально, но пароль ...

Поскольку мои пользователи регистрируются в Google, я не знаю их пароля, и я не хочу спрашивать у них дополнительный пароль ради лучшего UX. Единственное, что у меня есть, это их данные профиля Google+.

Как я могу сгенерировать этот пароль API REST и сохранить его безопасно? В их docs, состоянии разработчиков API:

ONE FIGO ПОЛЬЗОВАТЕЛЬ НА ПРИМЕНЕНИЕ ПОЛЬЗОВАТЕЛЯ
[...]
В этом случае его рекомендует создавать пользователь Фиги с именем непосредственно отображаемым из ваших идентификаторы пользователей приложения, например используя [ваш идентификатор пользователя] @figo. [ваш домен приложения]. Таким образом, вам не нужно сохранять какую-либо дополнительную информацию и по-прежнему не блокировать адрес электронной почты вашего пользователя для явного использования figo. Некоторое подобное, но более безопасное сопоставление рекомендуется для пользователей пароль.

Я не могу думать о безопасного способа достижения этого последний бита о пароле.

До сих пор лучшим решением, которое я придумал, является использование моих пользователей UUID (хэш) и идентификатор Google (из их профиля, это int) и хэш этих двух значений в пароль.

Но если злоумышленник будет взломать мою базу данных, он будет знать идентификатор Google, а также UUID ...

Кто-нибудь из вас есть отличная идея? Или «взломать мою базу данных» не проблема, о которой я должен заботиться? Я должен сказать, что figo API используется для онлайн-банкинга, поэтому я действительно хочу, чтобы данные пользователей были в безопасности.

P.S .: Просто FYI, я использую узел/экспресс-сервер в этом веб-приложении. Я использую паспорт для Google OAuth.

ответ

0

Вы можете использовать JWT token в качестве идентификатора и оставить его без гражданства.

+0

Благодарим вас за ответ. Но я не вижу, как это поможет мне создать пароль для другого API. –

Смежные вопросы