...
Po zainstalowaniu wtyczki w Administracja -> Konfiguracja systemu -> Konfiguracja wtyczek pojawi się opcja Plus SSO Authenticator.
1 ) W pierwszej zakładce SAML REQUEST (JSON) możemy:
- ustawić checkbox active Active, który oznacza czy logowanie przez SSO ma być aktywne. Jeżeli nie, to na formularzu logowania nie pojawi się przycisk logowania przez SSO.
- ustawić checkbox Auto login, który oznacza czy podczas wejścia na adres systemu będąc niezalogowanym, system powinien automatycznie logować przez SSO. Wejście przez /LoginManual.do nadal nie będzie automatycznie logował niezależnie od ustawienia tego parametru.
- wybrać rozwiązanie autoryzacji SSO Solution
...
- skonfigurować parametry wysyłane w requescie SAMLa. Niektóre parametry nie są wymagane w wybranym rozwiązaniu i może ich nie być w trybie graficznym.
Version: domyślnie "2.0"
...
ForceAuthn: domyślnie pustefalse
IsPassive: domyślnie pustedomyślnie false
- 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:".
...
Opcjonalnie utworzenie pem do wgrania w SSO w Base64: openssl x509 -inform der -in mycertificate.cer -out publiccert.pem
Konfiguracja key store w PCM:
Path - ścieżka do wygenerowanego pliku jks.
Alias - podany alias przy generowaniu keystore (w przykładzie jest to "suncode".
Key store password - hasło podane przy generowaniu key store.
Private key password - hasło podane przy generowaniu key store.
2) W drugiej zakładce ENTITY DESCRIPTOR (XML) zapisujemy entity descriptor z certyfikatem(należy go pobrać i wkleić), który otrzymaliśmy po skonfigurowaniu SSO Azure.
...
- firstVerifierValueProvider - dostawca pierwszej wartości do porównania
- secondVerifierValueProvider - dostawca drugiej wartości do porównania
- ignoreCase - parametr określający czy wartości porównywać z uwzględnieniem wielkości liter
Dostawcy wartości do porównania składają się z parametrów type i param. Dostępne wartości parametru type:
type:
- STATIC_VALUE - zwrócona zostanie wartość wpisana w parametrze "param"
- AUTHENTICATION_RESULT_ATTRIBUTE - nazwa parametru podana jako "param" jest szukana w odpowiedzi SSO (SamlResponse) w sekcji AttributeStatement i wartość dla tego parametru zostaje zwrócona
- VALUE_FROM_DATA_SOURCE_WITH_PWFL_USERNAME_AS_INPUT_VALUE - zwrócona zostanie wartość ze źródła danych o identyfikatorze takim jaki zostanie ustawiony w parametrze "param".
Parametr wejściowy powinien mieć id "value" i typ tekstowy - w parametrze wejściowym wtyczka SSO ustawi wartość username z systemu PlusWorkflow użytkownika który został zwrócony przez SSO (czyli wartość zwrócona przez SSO po przetworzeniu przez interceptory jeżeli zostały skonfigurowane)
Parametr wyjściowy powinien mieć id "value" i typ tekstowy - w parametrze wyjściowym źródło danych powinno zwracać wartość do porównania
- VALUE_FROM_DATA_SOURCE_WITH_SSO_USERNAME_AS_INPUT_VALUE - zwrócona zostanie wartość ze źródła danych o identyfikatorze takim jaki zostanie ustawiony w parametrze "param".
Parametr wejściowy powinien mieć id "value" i typ tekstowy - w parametrze wejściowym wtyczka SSO ustawi identyfikator użytkownika zwrócony przez SSO.
Parametr wyjściowy powinien mieć id "value" i typ tekstowy - w parametrze wyjściowym źródło danych powinno zwracać wartość do porównania
manualLogOutRedirect - parametr określa gdzie ma zostać przekierowany użytkownik po kliknięciu w przycisk wyloguj
automaticLogOutRedirect - parametr określa gdzie ma zostać przekierowany użytkownik po wygaśnięciu sesji
authenticationFailedRedirect - parametr określa gdzie ma zostać przekierowany użytkownik po błędnym logowaniu
Parametry do przekierowania składają się z pól:
- redirectType - rodzaj przekierowania. Parametr obowiązkowy. Dostępne są dwie opcje:
- REDIRECT_TO_URL - przekierowuje na adres URL podany w parametrze "value". Url powinien zawierać tylko sam endpoint.
REDIRECT_TO_PAGE_WITH_HTML - wyświetla w okienku wartość podaną w parametrze "value". W parametrze można zamieścić sam tekst lub cały html do wyświetlenia na stronie.
- - localizedValue - parametr opcjonalny. Możemy skonfigurować tutaj wartości dla typu przekierowania dla poszczególnych języków. Jeżeli nie podamy wartości dla języka, który będzie używany w systemie to wartość zostanie pobrana z parametru "value". Parametry podajemy jako obiekt, który jako klucz posiada język. Np
- "pl" : "Witaj", "en" : "Hello!"
Przykładowa konfiguracja POST AUTH HANDLERS
| Code Block |
|---|
{
"createUserFromDataSourceId": "data_source_id",
"defaultGroupNames": "Administrators,Test",
"extraAuthVerifiers": [
{
"firstVerifierValueProvider": {
"type": "AUTHENTICATION_RESULT_ATTRIBUTE",
"param": "param_name"
},
"secondVerifierValueProvider": {
"type": "VALUE_FROM_DATA_SOURCE_WITH_PWFL_USERNAME_AS_INPUT_VALUE",
"param": "data_source_id"
},
"ignoreCase": true
}
],
"manualLogOutRedirect": {
"redirectType": "REDIRECT_TO_PAGE_WITH_HTML",
"value": "<p style=\"font-weight: bold; font-size: 13px;\">Do widzenia</p>",
"localizedValue": {
"en": "<p style=\"font-weight: bold; font-size: 13px;\">Bye</p>",
"de": "Auf Wiedersehen"
}
},
"automaticLogOutRedirect": {
"redirectType": "REDIRECT_TO_URL",
"value": "/Login.do"
},
"authenticationFailedRedirect": {
"redirectType": "REDIRECT_TO_URL",
"value": "/LoginManual.do"
}
} |
...
