Сохранение информации о пользователе OAuth (имя пользователя, имя, фамилия и т. Д. c) в локальной базе данных - PullRequest
0 голосов
/ 05 августа 2020

Недавно я внедрил Oauth 2.0 (FusionAuth) в свой Flask API. Из-за того, как я реализовал OAuth, у меня есть две отдельные базы данных, одна для сервера OAuth, а другая для Flask API.

Исходя из этого, мне интересно, что считается лучшей практикой. Должен ли я звонить на сервер Oauth каждый раз, когда мне нужно получить информацию о пользователях, такую ​​как имя пользователя, first_name, last_name и т. Д. c. или я должен хранить эту информацию в моей базе данных Flask API, чтобы ограничить нагрузку на сервер аутентификации.

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

Если я go с вариантом два, я уменьшу нагрузку на сервер аутентификации, но мне придется обновить два разных базы данных, если пользователь изменил свое имя или фамилию (случается редко).

1 Ответ

1 голос
/ 05 августа 2020

ДИЗАЙН ДАННЫХ ПОЛЬЗОВАТЕЛЯ

Обычно вам нужен небольшой объем информации о пользователе на сервере авторизации, а именно эти поля:

  • Имя
  • Фамилия
  • Электронная почта

Все остальные данные пользователя лучше всего хранить в Приложении / Продукте, где их легче изменить, и вы можете легко выполнять SQL запросы по it.

Указанные выше поля OAuth фактически становятся доступными только для чтения в схеме вашего продукта. Когда они меняются на Сервере авторизации, вам необходимо обновить данные вашего продукта.

СОГЛАСОВАНИЕ ДАННЫХ ПОЛЬЗОВАТЕЛЯ С ДАННЫМИ ПОЛЬЗОВАТЕЛЯ ПРОДУКТА

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

МОЙНЫЕ РЕСУРСЫ

...