Czy ktoś może mi wyjaśnić, jakie są główne różnice między SSO zainicjowanym przez SP i SSO zainicjowanym przez IDP , w tym, które byłoby lepszym rozwiązaniem do implementacji pojedynczego logowania w połączeniu z ADFS + OpenAM Federation?
single-sign-on
adfs2.0
openam
pbhle
źródło
źródło
Odpowiedzi:
W przypadku usługi IDP Init SSO (niezamawiane logowanie jednokrotne w sieci Web) proces federacji jest inicjowany przez dostawcę tożsamości wysyłającego niezamówioną odpowiedź SAML do dostawcy usług. W SP-Init SP generuje żądanie AuthnRequest, które jest wysyłane do dostawcy tożsamości jako pierwszy krok w procesie federacji, a następnie dostawca tożsamości odpowiada odpowiedzią SAML. Obsługa IMHO ADFSv2 dla SAML2.0 Web SSO SP-Init jest silniejsza niż jego obsługa IDP-Init w zakresie: integracji z produktami Fed innej firmy (głównie z obsługą RelayState), więc jeśli masz wybór, będziesz chciał użyć SP- Init, ponieważ prawdopodobnie ułatwi to życie dzięki ADFSv2.
Oto kilka prostych opisów logowania jednokrotnego z przewodnika wprowadzającego do PingFederate 8.0, które również mogą pomóc - https://documentation.pingidentity.com/pingfederate/pf80/index.shtml#gettingStartedGuide/task/idpInitiatedSsoPOST.html
źródło
SSO zainicjowane przez IDP
Z dokumentacji PingFederate: - https://docs.pingidentity.com/bundle/pf_sm_supportedStandards_pf82/page/task/idpInitiatedSsoPOST.html
W tym scenariuszu użytkownik jest logowany do dostawcy tożsamości i próbuje uzyskać dostęp do zasobu na zdalnym serwerze SP. Asercja SAML jest przesyłana do dostawcy usług za pośrednictwem protokołu HTTP POST.
Kroki przetwarzania:
SSO zainicjowane przez SP
Z dokumentacji PingFederate: - http://documentation.pingidentity.com/display/PF610/SP-Initiated+SSO--POST-POST
W tym scenariuszu użytkownik próbuje uzyskać dostęp do chronionego zasobu bezpośrednio w witrynie sieci Web SP bez logowania się. Użytkownik nie ma konta w witrynie SP, ale ma konto federacyjne zarządzane przez zewnętrznego dostawcę tożsamości. SP wysyła żądanie uwierzytelnienia do dostawcy tożsamości. Zarówno żądanie, jak i zwrócone potwierdzenie SAML są wysyłane przez przeglądarkę użytkownika za pośrednictwem protokołu HTTP POST.
Kroki przetwarzania:
Dodatkowe informacje o użytkowniku można pobrać z magazynu danych użytkownika w celu uwzględnienia w odpowiedzi SAML. (Te atrybuty są z góry określone w ramach umowy federacyjnej między dostawcą tożsamości i dostawcą usług)
Usługa SSO dostawcy tożsamości zwraca formularz HTML do przeglądarki z odpowiedzią SAML zawierającą potwierdzenie uwierzytelnienia i wszelkie dodatkowe atrybuty. Przeglądarka automatycznie wysyła formularz HTML z powrotem do SP. UWAGA: specyfikacje SAML wymagają, aby odpowiedzi POST były podpisane cyfrowo.
(Nie pokazano) Jeśli podpis i potwierdzenie są prawidłowe, SP ustanawia sesję dla użytkownika i przekierowuje przeglądarkę do zasobu docelowego.
źródło
SSO zainicjowane przez SP
Wystaw rachunek użytkownikowi: „Hej Jimmy, pokaż mi ten raport”
Jimmy SP: „Hej, jeszcze nie jestem pewien, kim jesteś. Mamy tutaj proces, więc najpierw przejdź do weryfikacji u Boba dostawcy tożsamości. Ufam mu”.
Bob the IdP: „Widzę, że wysłał cię tutaj Jimmy. Proszę o podanie swoich danych uwierzytelniających”.
Rachunek użytkownika: „Cześć, jestem Bill. Oto moje poświadczenia”.
Bob the IdP: „Cześć Bill. Wygląda na to, że się wymeldowałeś”.
Bob the IdP: „Hej Jimmy. Ten facet Bill sprawdza, a oto dodatkowe informacje o nim. Z tego miejsca możesz robić, co chcesz”.
Jimmy the SP: „Ok, spoko. Wygląda na to, że Bill jest również na naszej liście znanych gości. Wpuszczę Billa”.
Logowanie jednokrotne zainicjowane przez dostawcę tożsamości
Bill użytkownika: „Hej Bob. Chcę pojechać do domu Jimmy'ego. Tam ochrona jest szczelna”.
Bob the IdP: „Hej Jimmy. Ufam Billowi. Sprawdza i tutaj jest kilka dodatkowych informacji o nim. Z tego miejsca możesz robić, co chcesz”.
Jimmy the SP: „Ok, spoko. Wygląda na to, że Bill jest również na naszej liście znanych gości. Wpuszczę Billa”.
Podaję tutaj więcej szczegółów, ale nadal zachowuję prostotę: https://jorgecolonconsulting.com/saml-sso-in-simple-terms/ .
źródło