Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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.

...

defaultGroupNames - domyślne grupy do których zostanie przypisany nowo utworzony użytkownik przez źródło danych skonfigurowane w parametrze createUserFromDataSourceId (gurpy można podawać rozdzielająć je średnikiem).

extraAuthVerifiers - dodatkowe autentykacje użytkownika jeżeli SSO zwróci odpowiedź i użytkownik został rozpoznany w PWFL. Jest to tablica weryfikatorów gdzie każdy z nich ma do skonfigurowania parametry:

  • 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:
    - 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. 
    - value - wartość dla typu przekierowania. Jest to domyślna wartość dla wszystkich języków, których nie skonfigurujemy w parametrze localizedValue. Parametr jest opcjonalny jeżeli skonfigurujemy wszystkie interesujące nas języki w parametrze localizedValue
  • - 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"
	}
}

...