Как отключить встроенные представления интерфейса IdentityServer3 (вход в систему и регистрация)?

Я пытаюсь внедрить IdentityServer3 в мою архитектурную смесь. Мне нравится идея регистрации клиентов, пользователей и областей. Что мне не нравится, так это использование встроенных в IdentityServer3 форм для входа и регистрации.

У меня есть 4 разных приложения, которые должны использовать мою реализацию IdentityServer3 (или TokenServer). Эти 4 приложения являются приложениями AngularJs. У меня есть различные сервисы C# .Net WebAPI, предоставляющие данные этим 4 приложениям. Прямо сейчас у каждого из этих 4 приложений есть свой собственный процесс аутентификации и регистрации. Мне нужно консолидировать часть аутентификации, используя IdentityServer3.

Каждое из этих 4 приложений имеет различные потребности регистрации / аутентификации учетной записи. Существует набор аутентификаций сторонних разработчиков (Facebook, Google), а также аутентификация с использованием традиционных форм для учетной записи, с которой зарегистрирован пользователь.

Поэтому я не могу использовать ни одно из моих приложений AngularJ, использующих стандартные формы входа / регистрации, которые поставляются с IdentityServer3. Я потратил много времени сейчас, пытаясь найти способ отключить представления по умолчанию и просто подключить каждое из моих приложений AngularJs к моему TokenServer. Я просто хочу отправить учетные данные POST в конечную точку /token и вернуть токен, который можно использовать при последующих вызовах моего WebAPI. Я хочу заменить процесс аутентификации, который у меня есть для каждого приложения, на IdentityServer3 без изменения существующих интерфейсов входа / регистрации.

Я не могу найти пример приложения или даже документацию, которая показывает, как это сделать. Можно ли вообще "отключить" все представления пользовательского интерфейса IdentityServer3 и использовать формы входа и регистрации моего клиента AngularJs?

Пожалуйста, укажите мне в правильном направлении. Спасибо за ваше время.

1 ответ

Решение

Кажется, вы хотите использовать поток владельцев ресурсов OAuth 2.0, что означает, что ваше приложение отправляет учетные данные в конечную точку токена и возвращает токен доступа. Это вполне возможно - вы упустите некоторые функции, такие как федерация и SSO. Но это известные ограничения этого потока.

Если вы хотите использовать поток на основе перенаправления (который дает вам SSO и, например, логины Google и т. Д.) - вам нужно перенаправить. Вы можете заменить любой из представлений IdentityServer своим собственным. Документация и образцы имеют много информации, как это сделать.

https://identityserver.github.io/Documentation/docsv2/advanced/customizingViews.html

https://github.com/IdentityServer/IdentityServer3.Samples/tree/master/source/CustomViewService

Другие вопросы по тегам