...
Info |
---|
SSO przeważnie konfiguruje nam klient po przesłaniu do niego danych opisanych niżej (entity id, reply url, SLO, certyfikaty) . Klient może wymagać przesłania SP XML metadata descriptora, który zawiera te wszystkie dane zamiast poszczególnych danych osobnojako SAML ServiceProvider metadata descriptor xml (generowanie pliku opisane niżej). |
Dodajemy aplikację za pomocą Microsoft Entra ID -> Aplikacje dla przedsiębiorstw -> Nowa aplikacja
...
- Entity ID - powinno być w formacie URL. Jest to losowo wygenerowany przez nas identyfikator identyfikujący nas na serwerze SSO. Musi zaczynać się od litery.
Przykład: https://www.test.plusworkflow.pl/PlusWorkflow/api/authentication/sso/id/testId-if7-fi6-xh-c0
Wymagane jest połączenie HTTPS - Reply URL (Assertion Consumer Service URL)
- adres, na którym będziemy oczekiwać odpowiedzi z SSO. Jest to adres do systemu PlusWorkflow na endpoint /api/authentication/sso/login?provider=sso
Przykład: https://www.test.plusworkflow.pl/PlusWorkflow/api/authentication/sso/login?provider=sso
Wymagane jest połączenie HTTPS - SLO SLO (Single Logout Service URL)
- adres, na którym będziemy oczekiwać sygnału o wylogowaniu w SSO lub odpowiedzi na żądanie wylogowania w SSO (opcjonalnie jeżeli klient chce obsługiwać SLO)
Przykład: https://www.test.plusworkflow.pl/PlusWorkflow/api/authentication/sso/logout?provider=sso
Generowanie SAML ServiceProvider metadata descriptor'a w xml:
Generator metadanych dla klienta z parametrami niezbędnymi do skonfigurowania SSO po stronie IdP znajduje się w pliku "Suncode SAML SP metadata generator.html".
Suncode SAML SP metadata generator.html
Generowanie certyfikatu x.509 pem opisane niżej "Tworzenie keys tore jks".
Konfiguracja połączenia do SSO z PlusWorkflow
...
- skonfigurować dane do Key Store z kluczami do podpisywania wiadomości. Hasła do Key Store i klucza prywatnego zostaną zaszyfrowane i nie będzie można ich odszyfrować. Będą miały postać "enc:zaszyfrowane_hasło". Hasło do zaszyfrowania nie może zaczynać się od ciągu znaków "enc:".
Tworzenie key store jsk:
keytool -genkeypair -alias suncode -keyalg RSA -keysize 2048 -keystore mystore.jks -validity 365
...