IdenityServer в корпоративной среде - разрешение информации пользователя в нескольких базах данных
Мы используем IdentityServer3 в качестве нашего центрального поставщика аутентификации. Теперь у меня есть общий вопрос об IdenityServer в корпоративной среде. Я пытаюсь объяснить это следующим примером:
- Если пользователь был успешно аутентифицирован, он получает токен от провайдера. Токен включает в себя уникальный идентификатор пользователя.
- Аутентифицированный пользователь отправляет запрос в WebApi, чтобы создать новый элемент (например, новый продукт).
- WebApi извлекает уникальный идентификатор из токена и создает новый продукт в базе данных. Кроме того, новый продукт был связан с уникальным идентификатором пользователя (например, как creationUserId).
- Другой пользователь отправляет запрос в WebApi, чтобы получить все доступные продукты.
- WebApi создает запрос к базе данных для получения всех продуктов. Кроме того, WebApi хочет преобразовать creationUserId каждого продукта в соответствующее имя пользователя. Но это невозможно, потому что имя пользователя хранится в базе данных идентификации, которая является другой базой данных, чем база данных приложения (например, для продуктов). Есть ли лучшие практики для решения этого требования?
Большое спасибо за вашу помощь!
С уважением
1 ответ
Спасибо за ответ. Я вижу только один способ реализовать мои требования:
-> Я сохраняю имя пользователя с userId в базе данных приложения, потому что API для перевода медленный.