Хранение сервера идентификации и аутентификации в отдельных проектах
У меня есть несколько клиентских приложений, которые я хочу поместить в службу аутентификации сервера идентификации, для которой я использую Duende IdentityServer. Итак, мой проект Identity Server состоит из следующего.
- Блоки кода для настройки Identity Server
- Пользовательский интерфейс ASP.NET MVC для входа в систему, ошибки и т. Д.
Я хочу сохранить Identity Server и приложение Login в отдельных проектах. Вот что я пытаюсь реализовать.
- Проект Identity Server: чтобы блоки кода проверяли токен и проверяли, является ли он действительным токеном.
- Если токен недействителен, выполните перенаправление на страницу входа в приложение для входа.
- После успешного входа действительного пользователя вернитесь на сервер идентификации, сгенерируйте маркер и сохраните маркер так же, как и в обычном сервере идентификации.
- И с каждым ответом на запрос токен будет проверяться Identity Server.
Но я не уверен, возможно ли это и как это реализовать. Есть ли способ разделить сервер идентификации и приложение входа в отдельные проекты?
1 ответ
Мы также оцениваем возможность создания отдельных приложений для пользовательского интерфейса и для остальной части IdentityServer. К сожалению, мы пришли к выводу, что IdentityServer естественным образом не поддерживает этот сценарий. Например, существование IIdentityServerInteractionService предполагает, что взаимодействие предназначено для использования в одном приложении посредством внедрения зависимостей, а диаграмма в документации также предполагает, что существует одно приложение - см. Ссылку ниже. Я бы не сказал, что это невыполнимо, но мы нашли мало ресурсов, поддерживающих этот сценарий. Сообщите нам, если найдете золото ...
https://identityserver4.readthedocs.io/en/latest/topics/signin.html#login-workflow