IdentityServer4 и внешняя проверка пользователя - PullRequest
0 голосов
/ 11 сентября 2018

Я ищу решение об аутентификации.Я нашел IdentityServer, и я пытаюсь понять, как это работает.В моем случае мне нужно проверить, существует ли пользователь в другом приложении.У меня есть старый проект, созданный в сети asp.net, и этот проект хранит коллекцию пользователей в БД.Теперь я должен создать клиента, который будет вызывать WebApi, и в этом WebApi мне нужно аутентифицировать пользователя.Я хочу сделать это с помощью IdentityServer4.Могу ли я в IdentityServer вызвать мое старое приложение или создать базу данных этого приложения и проверить пользователя с помощью пользовательского метода?

В будущем я хочу подключить другое приложение к IdentityServer, и у этого нового приложения должны быть пользователи в IdentityServer, поэтому у меня будетдва места, где у меня будут пользователи для двух приложений.Я должен быть уверен, что могу проверить, существует ли пользователь двумя способами.Когда запрос будет сформирован, новое приложение IdentityServer должно проверить пользователя в его БД, а если запрос от клиента, который будет вызывать старое приложение, следует проверить этого пользователя во внешнем приложении (ДБ).

Пример вызова: введите описание изображения здесь

Не знаю, хорошо ли я понимаю идею IdentityServer, но в целом я думаю, что это не очень хорошее решение для моего случая ... Пока я понимаю, что могу хранить пользователей в базе данных, но толькос Asp.Identity в IdentityServer.

Что вы думаете об этом случае?

В будущем я хочу подключить другое приложение к IdentityServer, и у этого нового приложения должны быть пользователи в IdentityServer, поэтому я будуесть два места, где у меня будут пользователи для двух приложений.Я должен быть уверен, что могу проверить, существует ли пользователь двумя способами.Когда запрос поступит от нового приложения, IdentityServer должен проверить пользователя в его БД, а если запрос от клиента, который будет вызывать старое приложение, следует проверить этого пользователя во внешнем приложении (БД).

1 Ответ

0 голосов
/ 11 сентября 2018

Короткий ответ: IdentityServer4 - это просто реализация протокола OpenID Connect, а постоянство и аутентификация пользователей полностью настраиваемы, поэтому вы можете реализовать их любым удобным для вас способом.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...