Skonfigurowaliśmy aplikację kliencką do korzystania z uwierzytelniania IdentityServer3 przez protokół OpenID Connect (to aplikacja ASP.NET MVC, która używa oprogramowania pośredniego OWIN do obsługi OIDC).Ekran logowania Pomiń IdentityServer3
Sam IdentityServer3 jest skonfigurowany do używania zarówno logowania lokalnego, jak i logowania zewnętrznego (na przykład Azure AD).
W regularnym przepływie, gdy aplikacja musi uwierzytelnić użytkownika, przekierowuje go na ekran logowania IdentityServer3 - wszystko w porządku. Ale w niektórych przypadkach, na zasadzie "na żądanie", chcę ominąć ekran logowania w jakiś sposób, pozwalając IdentityServer3 wiedzieć, że użytkownik chce się zalogować z określonym zewnętrznym dostawcą tożsamości od razu.
Czy można to zrobić?
Zorientowałem się, że jeśli Klient ograniczy się do pojedynczego dostawcy tożsamości, to ekran logowania zostanie automatycznie pominięty, ale w przypadku wielu dostawców tożsamości (np. Logowanie lokalne i usługa Azure AD) pytanie jest nadal otwarte. –
Istnieje przykładowa metoda selekcji HRD [tutaj] (https://github.com/IdentityServer/IdentityServer3.Samples/tree/master/source/CustomHrd). Może ci to pomoże. – pepo
@pepo, dziękuję, zdecydowanie na to popatrzę! O ile rozumiem "domyślne" oprogramowanie pośredniczące OWIN dla OpenID Connect, nie jest w stanie przekazać żadnych dodatkowych informacji o wyzwaniu uwierzytelnienia - https://github.com/aspnet/Security/issues/99. Więc nie tylko serwer tożsamości powinien obsługiwać otrzymywanie informacji o zamiarach użytkownika, ale oprogramowanie pośrednie OWIN powinno być w stanie je wysłać i nie może być gotowe do użycia, prawda? –