W artykule opisano sposób odwzorowania dostawców OpenID Connect w systemie Comarch ERP Enterprise oraz budowę aplikacji Dostawca OpenID Connect.
Artykuł zawiera także informacje o tym, jak użytkownicy systemu ERP mogą być automatycznie tworzeni podczas pierwszego logowania za pomocą dostawcy OpenID Connect oraz na co należy zwrócić uwagę przy konfiguracji dostawcy Keycloak.
Dostawcy OpenID Connect mogą być wykorzystywani do logowania i uwierzytelniania użytkowników w systemie ERP.
Informacje o niezbędnych ustawieniach dla konfiguracji dostawcy Keycloak można znaleźć w rozdziale Konfiguracja Keycloak jako dostawcy OpenID Connect.
Podczas logowania użytkownika ERP przez dostawcę OpenID Connect tworzony jest identyfikator OpenID Connect na poziomie użytkownika w aplikacji Panel system.
Szczegóły znajdują się w dokumentacji Panel system: Użytkownik.
System ERP umożliwia również automatyczne tworzenie użytkownika systemowego przy pierwszym logowaniu za pomocą OpenID Connect.
Więcej informacji w rozdziale: Automatyczne tworzenie użytkowników ERP przy pierwszym logowaniu z użyciem dostawcy OpenID Connect.
Definicje pojęć
OpenID Connect – protokół służący do integracji z dostawcami OpenID Connect, takimi jak Keycloak, wykorzystywany do zarządzania logowaniem typu Single Sign-On w systemie ERP i systemach zewnętrznych.
Dostawca OpenID Connect – zewnętrzny system służący do logowania i uwierzytelniania użytkowników w systemie ERP.
Keycloak – otwarte oprogramowanie służące do zarządzania użytkownikami w modelu Single Sign-On.
Opis aplikacji
Za pomocą aplikacji Dostawca OpenID Connet można rejestrować i edytować dostawców OpenID Connect, którzy będą wykorzystywani jako metoda logowania i uwierzytelniania użytkowników systemu ERP.
Aplikacja składa się z nagłówka i obszaru roboczego w którym znajduje się tabela przynależności do grup.
Nagłówek
W nagłówku znajdują się pola służące do jednoznacznej identyfikacji dostawcy oraz ogólne dane podstawowe.
- Nazwa – unikalny identyfikator dostawcy OpenID Connect. Można wprowadzić dowolny ciąg znaków (cyfry, litery lub ich kombinację). Uzupełnienie pola jest wymagane przy tworzeniu nowego wpisu.
- Opis – dodatkowa informacja tekstowa służąca do rozpoznania dostawcy. Zalecane jest podanie jednoznacznego opisu.
- ID klienta – identyfikator klienta wymagany do logowania u dostawcy OpenID Connect (np. w Keycloak).
- Hasło – hasło do logowania u dostawcy. Podczas wpisywania nie jest widoczne (zastępuje je ciąg znaków specjalnych).
- Adres URL dostawcy – adres URL punktu końcowego dostawcy OpenID Connect.
- Aktywne (parametr) – umożliwia aktywację lub dezaktywację dostawcy OpenID Connect w systemie ERP.
Tabela Przynależność do grupy
Tabela służy do przypisywania użytkowników logujących się przez OpenID Connect do grup użytkowników ERP.
Dostępne są kolumny:
- Akcja – do wyboru jedna z opcji:
- Synchronizacja wszystkich użytkowników – przypisuje wszystkich użytkowników dostawcy do wybranej grupy użytkowników ERP.WskazówkaW tym przypadku nie można określić grupy źródłowej. Jeśli zostanie ona wprowadzona mimo to, pojawi się komunikat o błędzie podczas zapisu.
- Synchronizacja użytkowników – przypisuje użytkowników z określonej grupy źródłowej (zdefiniowanej u dostawcy) do określonej grupy docelowej (w systemie ERP). Grupy ERP są definiowane w aplikacji Panel system: Grupa użytkowników.
- Synchronizacja wszystkich użytkowników – przypisuje wszystkich użytkowników dostawcy do wybranej grupy użytkowników ERP.
- Grupa źródłowa użytkowników – grupa użytkowników po stronie dostawcy (np. zdefiniowana w Keycloak). Wymagana tylko, gdy wybrano akcję Synchronizacja użytkowników.
- Grupa docelowa użytkowników – grupa użytkowników ERP, do której przypisywani są użytkownicy dostawcy.
- W przypadku wybrania akcji Synchronizacja wszystkich użytkowników przypisanie dotyczy wszystkich użytkowników dostawcy.
- W przypadku wybrania akcji Synchronizacja użytkowników przypisanie dotyczy tylko grupy wskazanej jako źródłowa.
Grupy użytkowników ERP definiuje się w aplikacji Panel system po wybraniu typu Grupa użytkowników. Szczegóły zawarte są w artykule Panel system: Grupa użytkowników.
Konfiguracja
Dla aplikacji Dostawca OpenID Connect nie są wymagane żadne ustawienia w aplikacji Konfiguracja.
Jednostki biznesowe
Dla aplikacji Dostawca OpenID Connect istotna jest następująca jednostka biznesowa: com.cisag.sys.configuration.login.obj.OpenIdConnectProvider, którą można wykorzystać do:
- przypisywania uprawnień
- definiowania działań
- importu lub eksportu danych
Uprawnienia
Uprawnienia można przypisywać zarówno poprzez role uprawnień, jak i przypisanie organizacyjne. Koncepcję uprawnień opisano w Artykule Uprawnienia.
Uprawnienia specjalne
Aplikacja Dostawca OpenID Connect nie zawiera żadnych funkcji specjalnych.
Przyporządkowania organizacji
Dla aplikacji Dostawca OpenID Connect przypisanie do organizacji nie jest wymagane.
com.cisag.sys.configuration.login.OpenIdConnect.
W przeciwnym razie aplikacja nie jest dostępna w systemie ERP.
Uprawnienia dla partnerów biznesowych
Aplikacja Dostawca OpenID Connect nie jest dostępna dla partnerów biznesowych.
Automatyczne tworzenie użytkowników systemu ERP przy pierwszym logowaniu za pomocą dostawcy OpenID Connect
W systemie ERP można skonfigurować automatyczne tworzenie użytkowników przy pierwszym logowaniu za pomocą dostawcy OpenID Connect. W tym celu należy ustawić w systemie ERP właściwość systemową:
com.cisag.sys.kernel.webserver.session.CisSessionFilterOpenIdCreateUser=true
Przy pierwszym logowaniu do systemu za pomocą OpenID Connect użytkownik zostaje automatycznie utworzony. Nazwa użytkownika jest przenoszona z atrybutu preferred user name (w Keycloak: Username). Jeśli użytkownik o takiej nazwie już istnieje w systemie ERP, nowy użytkownik otrzyma kolejną numerację. Przenoszona jest również pełna nazwa oraz adres e-mail. Synchronizacja przynależności do grup także odbywa się przy pierwszym logowaniu.
Dalsze informacje na temat użytkowników systemu ERP znajdują się w dokumentacji Panel system: Użytkownik.
Konfiguracja Keycloak jako dostawcy OpenID Connect
Keycloak to zewnętrzne oprogramowanie open source umożliwiające zarządzanie użytkownikami i logowaniem przy użyciu Single Sign-On.
Do podstawowej konfiguracji i użytkowania Keycloak należy korzystać z oficjalnej dokumentacji dostępnej pod adresem:
https://www.keycloak.org/documentation (stan na 31.01.2025)
Poniżej opisano ustawienia wymagane do użycia Keycloak jako dostawcy OpenID Connect do logowania w systemie ERP:
Aby używać oprogramowania Keycloak jako dostawcy OpenID Connect do logowania w Comarch ERP Enterprise, należy w Keycloak zdefiniować klienta dla tego systemu. Należy przy tym zwrócić uwagę na następujące kwestie:
- Pola Valid Redirect URIs oraz Web origins w Keycloak muszą zawierać adres(y) serwera aplikacyjnego Comarch ERP Enterprise, z którego będzie realizowane logowanie przez Keycloak. Do wartości pola Valid Redirect URIs należy dodać na końcu /*.
- Opcja Standard flow musi być aktywna.
- Należy aktywować Client authentication i w zakładce Credentials wybrać opcję Client Id and Secret. Wygenerowany Client Secret należy wprowadzić w Comarch ERP Enterprise.
- Należy aktywować realm roles lub client roles w celu skonfigurowania przynależności do grup.
Aby skonfigurować Keycloak jako dostawcę OpenID Connect w systemie ERP, należy:
- W polu ID klienta wprowadzić identyfikator klienta z Keycloak
- W polu Hasło wprowadzić wartość Client Secret z Keycloak
- W polu URL dostawcy należy wprowadzić adres serwera Keycloak, uzupełniony o
/realms/
i nazwę realm, w którym zdefiniowano klienta.
Jeśli w tabeli Przynależność do grup dodano nowy wpis, synchronizacja przynależności do grup następuje przy każdym logowaniu użytkownika.