OAuth i OpenID Connect SSO
Uwaga: SSO dla aplikacji jest dostępne tylko w przypadku
Endpoint MFA.
OAuth to protokół autoryzacji, który umożliwia uwierzytelnionym dostęp do zasobów między serwerami a usługami bez udostępniania jakichkolwiek danych logowania. OpenID Connect to warstwa tożsamości na szczycie struktury OAuth.
Podstawowe komponenty działania OAuth i OpenID Connect to:
- Serwer: To on weryfikuje dane logowania użytkownika i dostarcza klucz do zalogowania. W naszym przypadku ADSelfService Plus działa jako serwer.
- Aplikacja kliencka: To aplikacja, do której użytkownik próbuje się zalogować.
- Użytkownik: To konto, które próbuje zalogować się do aplikacji klienckiej.
OAuth 2.0
W ten sposób OAuth umożliwia SSO:
- Kiedy użytkownik próbuje zalogować się do aplikacji, wysyła żądanie autoryzacji do ADSelfService Plus. Użytkownik jest następnie przekierowywany na stronę logowania ADSelfService Plus, gdzie wprowadza dane logowania.
- Po pomyślnej weryfikacji, kod autoryzacji jest wysyłany do aplikacji z ADSelfService Plus.
- Aplikacja wysyła kod autoryzacji z powrotem do ADSelfService Plus, aby otrzymać token dostępu oraz token odświeżenia. Token dostępu działa jak klucz ograniczony czasowo, umożliwiający użytkownikowi dostęp do chronionych zasobów aplikacji. Token odświeżenia to stały klucz, który można wykorzystać do żądania nowego tokena dostępu po wygaśnięciu starego.
- Teraz aplikacja wysyła żądanie informacji o użytkowniku wraz z tokenem dostępu jako dowód tożsamości do ADSelfService Plus. Odpowiedź na to żądanie zwraca szczegóły profilu użytkownika potrzebne do zakończenia procesu logowania.
- Po pomyślnej weryfikacji danych użytkownika po stronie aplikacji, użytkownik jest zalogowany do aplikacji.
OpenID Connect
OpenID Connect jest podobne do OAuth SSO, ale tutaj używany jest token ID. Token ID zawiera podpis ADSelfService Plus oraz dane użytkownika. Istnieją dwa możliwe scenariusze podczas korzystania z SSO OpenID Connect.
- Logowanie z inicjatywy aplikacji lub dostawcy usług (SP): Ta próba logowania jest inicjowana z docelowej aplikacji.
- Logowanie z inicjatywy ADSelfService Plus lub dostawcy tożsamości (IdP): Ta próba logowania jest inicjowana z ADSelfService Plus.
Zrozummy przepływ pracy w obu tych przypadkach.
Logowanie z inicjatywy aplikacji
- Użytkownik próbuje zalogować się do aplikacji. Aplikacja wysyła żądanie autoryzacji do ADSelfService Plus. Użytkownik jest przekierowywany na stronę logowania ADSelfService Plus.
- Użytkownik wprowadza tutaj swoje dane logowania. Po pomyślnej weryfikacji, kod autoryzacji jest wysyłany do aplikacji z ADSelfService Plus.
- Aplikacja wysyła kod autoryzacji z powrotem do ADSelfService Plus, aby otrzymać token ID. Ten token zawiera dane użytkownika potrzebne do zakończenia procesu logowania.
- Po weryfikacji podpisu ADSelfService Plus w tokenie ID, aplikacja pobiera dane użytkownika z tokena ID.
- Na koniec, po pomyślnej weryfikacji danych użytkownika po stronie aplikacji, użytkownik jest zalogowany do aplikacji.
Logowanie z inicjatywy ADSelfService Plus
- Użytkownik zaloguje się do ADSelfService Plus pomyślnie, przechodzi do zakładki Aplikacje i klika na żądanej aplikacji.
- W tym przypadku ADSelfService Plus wysyła token ID bezpośrednio do aplikacji.
- Po zweryfikowaniu podpisu ADSelfService Plus w tokenie ID, aplikacja pobiera szczegóły użytkownika z tokenu ID.
- Po pomyślnej weryfikacji szczegółów użytkownika po stronie aplikacji, użytkownik zostaje zalogowany do aplikacji.
Obsługiwane zakresy
Zakresy definiują poziom dostępu, który może być żądany przez dostawcę usług w celu uzyskania dostępu do zasobów. Muszą być odpowiednio włączone przez administratora. ADSelfService Plus obsługuje następujące zakresy:
- openid: Określa, że jest to żądanie OpenID Connect. Jest to obowiązkowy zakres dla żądania uwierzytelnienia OpenID Connect.
- profile: Żąda roszczeń profilu użytkownika (Imię i Nazwisko).
- email: Żąda atrybutu e-mail użytkownika.
- offline_access: Żąda tokenu odświeżania, który można wykorzystać do uzyskania nowych tokenów dostępu.
Obsługiwane aplikacje