Мы настроили приложение клиента для использования аутентификации IdentityServer3 через протокол OpenID Connect (это приложение ASP.NET MVC, использующее промежуточное ПО OWIN для поддержки OIDC).Экран входа в систему Skip IdentityServer3
Сам IdentityServer3 настроен на использование как локального входа, так и внешнего входа (например, Azure AD).
В обычном потоке, когда приложение должно аутентифицировать пользователя, оно перенаправляет его на экран входа IdentityServer3 - это нормально. Но в некоторых случаях, по запросу, я хочу обойти экран входа в систему, чтобы позволить IdentityServer3 знать, что пользователь хочет сразу же подключиться к определенному поставщику внешних идентификаторов.
Это возможно?
Я выяснил, что если клиент ограничивается одним IdP, тогда экран входа в систему автоматически пропускается, но в случае множественного IdP (например, локального входа и Azure AD) вопрос остается открытым –
Существует пример того, как использовать функцию HRD [здесь] (https://github.com/IdentityServer/IdentityServer3.Samples/tree/master/source/CustomHrd). Может быть, это поможет вам. – pepo
@pepo, спасибо, я обязательно посмотрю! Насколько я понимаю «промежуточное ПО OWIN» по умолчанию для OpenID Connect не может передать какую-либо дополнительную информацию об ошибке аутентификации - https://github.com/aspnet/Security/issues/99. Таким образом, не только Identity Server должен поддерживать получение информации о намерениях пользователя, но промежуточное ПО OWIN должно отправлять его, и оно не может быть готовым, верно? –