{"id":31432,"date":"2025-05-26T12:51:05","date_gmt":"2025-05-26T10:51:05","guid":{"rendered":"https:\/\/pomoc.comarch.pl\/cee\/640\/?post_type=ht_kb&#038;p=31432"},"modified":"2025-05-27T10:29:43","modified_gmt":"2025-05-27T08:29:43","slug":"dostawcy-openid-connect","status":"publish","type":"ht_kb","link":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/documentation\/dostawcy-openid-connect\/","title":{"rendered":"Dostawcy OpenID Connect"},"content":{"rendered":"\n<h3 class=\"wp-block-heading\" id=\"_\" ><\/h3>\n\n\n\n<p>W artykule opisano spos\u00f3b odwzorowania dostawc\u00f3w OpenID Connect w systemie Comarch ERP Enterprise oraz budow\u0119 aplikacji <em>Dostawca OpenID Connect<\/em>.<\/p>\n\n\n\n<p>Artyku\u0142 zawiera tak\u017ce informacje o tym, jak u\u017cytkownicy systemu ERP mog\u0105 by\u0107 automatycznie tworzeni podczas pierwszego logowania za pomoc\u0105 dostawcy OpenID Connect oraz na co nale\u017cy zwr\u00f3ci\u0107 uwag\u0119 przy konfiguracji dostawcy <em>Keycloak<\/em>.<\/p>\n\n\n\n<p>Dostawcy OpenID Connect mog\u0105 by\u0107 wykorzystywani do logowania i uwierzytelniania u\u017cytkownik\u00f3w w systemie ERP.<\/p>\n\n\n\n<p><section class=\"document-alert-box warning\"><div class=\"document-alert-title\">Uwaga<\/div><div class=\"document-alert-content\">Dostawcy OpenID Connect s\u0105 oprogramowaniem firm trzecich. Comarch S.A. nie ponosi odpowiedzialno\u015bci za ich u\u017cycie.<\/div><\/section><br>Informacje o niezb\u0119dnych ustawieniach dla konfiguracji dostawcy <em>Keycloak<\/em> mo\u017cna znale\u017a\u0107 w rozdziale <em>Konfiguracja Keycloak jako dostawcy OpenID Connect<\/em>.<\/p>\n\n\n\n<p>Podczas logowania u\u017cytkownika ERP przez dostawc\u0119 OpenID Connect tworzony jest identyfikator OpenID Connect na poziomie u\u017cytkownika w aplikacji <em>Panel system<\/em>.<br>Szczeg\u00f3\u0142y znajduj\u0105 si\u0119 w dokumentacji <em><a href=\"https:\/\/pomoc.comarch.pl\/cee\/index.php\/documentation\/panel-system-typ-uzytkownik\/\">Panel system: U\u017cytkownik<\/a><\/em>.<\/p>\n\n\n\n<p>System ERP umo\u017cliwia r\u00f3wnie\u017c automatyczne tworzenie u\u017cytkownika systemowego przy pierwszym logowaniu za pomoc\u0105 OpenID Connect.<br>Wi\u0119cej informacji w rozdziale: <em>Automatyczne tworzenie u\u017cytkownik\u00f3w ERP przy pierwszym logowaniu z u\u017cyciem dostawcy OpenID Connect<\/em>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"definicje-pojec\" >Definicje poj\u0119\u0107<\/h3>\n\n\n\n<p><strong>OpenID Connect<\/strong> \u2013 protok\u00f3\u0142 s\u0142u\u017c\u0105cy do integracji z dostawcami OpenID Connect, takimi jak <em>Keycloak<\/em>, wykorzystywany do zarz\u0105dzania logowaniem typu <em>Single Sign-On<\/em> w systemie ERP i systemach zewn\u0119trznych.<\/p>\n\n\n\n<p><strong>Dostawca OpenID Connect<\/strong> \u2013 zewn\u0119trzny system s\u0142u\u017c\u0105cy do logowania i uwierzytelniania u\u017cytkownik\u00f3w w systemie ERP.<\/p>\n\n\n\n<p><strong>Keycloak<\/strong> \u2013 otwarte oprogramowanie s\u0142u\u017c\u0105ce do zarz\u0105dzania u\u017cytkownikami w modelu <em>Single Sign-On<\/em>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"opis-aplikacji\" >Opis aplikacji<\/h3>\n\n\n\n<p>Za pomoc\u0105 aplikacji <em>Dostawca OpenID Connet<\/em> mo\u017cna rejestrowa\u0107 i edytowa\u0107 dostawc\u00f3w OpenID Connect, kt\u00f3rzy b\u0119d\u0105 wykorzystywani jako metoda logowania i uwierzytelniania u\u017cytkownik\u00f3w systemu ERP.<\/p>\n\n\n\n<p>Aplikacja sk\u0142ada si\u0119 z nag\u0142\u00f3wka i obszaru roboczego w kt\u00f3rym znajduje si\u0119 tabela przynale\u017cno\u015bci do grup.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"naglowek\" >Nag\u0142\u00f3wek<\/h4>\n\n\n\n<p>W nag\u0142\u00f3wku znajduj\u0105 si\u0119 pola s\u0142u\u017c\u0105ce do jednoznacznej identyfikacji dostawcy oraz og\u00f3lne dane podstawowe.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Nazwa<\/strong> \u2013 unikalny identyfikator dostawcy OpenID Connect. Mo\u017cna wprowadzi\u0107 dowolny ci\u0105g znak\u00f3w (cyfry, litery lub ich kombinacj\u0119). Uzupe\u0142nienie pola jest wymagane przy tworzeniu nowego wpisu.<\/li>\n\n\n\n<li><strong>Opis<\/strong> \u2013 dodatkowa informacja tekstowa s\u0142u\u017c\u0105ca do rozpoznania dostawcy. Zalecane jest podanie jednoznacznego opisu.<\/li>\n\n\n\n<li><strong>ID klienta<\/strong> \u2013 identyfikator klienta wymagany do logowania u dostawcy OpenID Connect (np. w Keycloak).<\/li>\n\n\n\n<li><strong>Has\u0142o<\/strong> \u2013 has\u0142o do logowania u dostawcy. Podczas wpisywania nie jest widoczne (zast\u0119puje je ci\u0105g znak\u00f3w specjalnych).<\/li>\n\n\n\n<li><strong>Adres URL dostawcy<\/strong> \u2013 adres URL punktu ko\u0144cowego dostawcy OpenID Connect.<\/li>\n\n\n\n<li><strong>Aktywne<\/strong> (parametr) \u2013 umo\u017cliwia aktywacj\u0119 lub dezaktywacj\u0119 dostawcy OpenID Connect w systemie ERP.<\/li>\n<\/ul>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"tabela-przynaleznosc-do-grupy\" >Tabela <em>Przynale\u017cno\u015b\u0107 do grupy<\/em><\/h4>\n\n\n\n<p>Tabela s\u0142u\u017cy do przypisywania u\u017cytkownik\u00f3w loguj\u0105cych si\u0119 przez OpenID Connect do grup u\u017cytkownik\u00f3w ERP.<\/p>\n\n\n\n<p>Dost\u0119pne s\u0105 kolumny:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Akcja<\/strong> \u2013 do wyboru jedna z opcji:\n<ul class=\"wp-block-list\">\n<li><em>Synchronizacja wszystkich u\u017cytkownik\u00f3w<\/em> \u2013 przypisuje wszystkich u\u017cytkownik\u00f3w dostawcy do wybranej grupy u\u017cytkownik\u00f3w ERP.<br><section class=\"document-alert-box indicator\"><div class=\"document-alert-title\">Wskaz\u00f3wka<\/div><div class=\"document-alert-content\">W tym przypadku nie mo\u017cna okre\u015bli\u0107 grupy \u017ar\u00f3d\u0142owej. Je\u015bli zostanie ona wprowadzona mimo to, pojawi si\u0119 komunikat o b\u0142\u0119dzie podczas zapisu.<\/div><\/section><\/li>\n\n\n\n<li><em>Synchronizacja u\u017cytkownik\u00f3w<\/em> \u2013 przypisuje u\u017cytkownik\u00f3w z okre\u015blonej grupy \u017ar\u00f3d\u0142owej (zdefiniowanej u dostawcy) do okre\u015blonej grupy docelowej (w systemie ERP). Grupy ERP s\u0105 definiowane w aplikacji <em><a href=\"https:\/\/pomoc.comarch.pl\/cee\/index.php\/documentation\/panel-system-typ-grupa-uzytkownikow\/\">Panel system: Grupa u\u017cytkownik\u00f3w<\/a><\/em>.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li><strong>Grupa \u017ar\u00f3d\u0142owa u\u017cytkownik\u00f3w<\/strong> \u2013 grupa u\u017cytkownik\u00f3w po stronie dostawcy (np. zdefiniowana w <em>Keycloak<\/em>). Wymagana tylko, gdy wybrano akcj\u0119 <em>Synchronizacja u\u017cytkownik\u00f3w<\/em>.<\/li>\n\n\n\n<li><strong>Grupa docelowa<\/strong> <strong>u\u017cytkownik\u00f3w<\/strong> \u2013 grupa u\u017cytkownik\u00f3w ERP, do kt\u00f3rej przypisywani s\u0105 u\u017cytkownicy dostawcy.\n<ul class=\"wp-block-list\">\n<li>W przypadku wybrania akcji <em>Synchronizacja wszystkich u\u017cytkownik\u00f3w<\/em> przypisanie dotyczy wszystkich u\u017cytkownik\u00f3w dostawcy.<\/li>\n\n\n\n<li>W przypadku wybrania akcji <em>Synchronizacja u\u017cytkownik\u00f3w<\/em> przypisanie dotyczy tylko grupy wskazanej jako \u017ar\u00f3d\u0142owa.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<p>Grupy u\u017cytkownik\u00f3w ERP definiuje si\u0119 w aplikacji <em>Panel system <\/em>po wybraniu typu <em>Grupa u\u017cytkownik\u00f3w<\/em>. Szczeg\u00f3\u0142y zawarte s\u0105 w artykule <em><em><a href=\"https:\/\/pomoc.comarch.pl\/cee\/index.php\/documentation\/panel-system-typ-grupa-uzytkownikow\/\">Panel system: Grupa u\u017cytkownik\u00f3w<\/a><\/em><\/em>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"konfiguracja\" >Konfiguracja<\/h3>\n\n\n\n<p>Dla aplikacji <em><em>Dostawca OpenID Connect<\/em><\/em> nie s\u0105 wymagane \u017cadne ustawienia w aplikacji <em>Konfiguracja<\/em>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"jednostki-biznesowe\" >Jednostki biznesowe<\/h3>\n\n\n\n<p>Dla aplikacji <em><em><em>Dostawca OpenID Connect<\/em><\/em><\/em> istotna jest nast\u0119puj\u0105ca jednostka biznesowa: <em>com.cisag.sys.configuration.login.obj.OpenIdConnectProvider<\/em>, kt\u00f3r\u0105 mo\u017cna wykorzysta\u0107 do:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>przypisywania uprawnie\u0144<\/li>\n\n\n\n<li>definiowania dzia\u0142a\u0144<\/li>\n\n\n\n<li>importu lub eksportu danych<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"uprawnienia\" >Uprawnienia<\/h3>\n\n\n\n<p>Uprawnienia mo\u017cna przypisywa\u0107 zar\u00f3wno poprzez role uprawnie\u0144, jak i przypisanie organizacyjne. Koncepcj\u0119 uprawnie\u0144 opisano w Artykule <em><a href=\"https:\/\/pomoc.comarch.pl\/cee\/index.php\/documentation\/uprawnienia\/\">Uprawnienia<\/a><\/em>.<\/p>\n\n\n\n<h4 class=\"wp-block-heading\" id=\"uprawnienia-specjalne\" >Uprawnienia specjalne<\/h4>\n\n\n\n<p>Aplikacja <em><em><em><em>Dostawca OpenID Connect<\/em><\/em><\/em><\/em> nie zawiera \u017cadnych funkcji specjalnych.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"przyporzadkowania-organizacji\" >Przyporz\u0105dkowania organizacji<\/h3>\n\n\n\n<p>Dla aplikacji <em><em><em><em>Dostawca OpenID Connect<\/em><\/em><\/em><\/em> przypisanie do organizacji nie jest wymagane.<\/p>\n\n\n\n<section class=\"document-alert-box indicator\"><div class=\"document-alert-title\">Wskaz\u00f3wka<\/div><div class=\"document-alert-content\">Aplikacja <em><em><em><em>Dostawca OpenID Connect<\/em><\/em><\/em><\/em> b\u0119dzie widoczna tylko wtedy, gdy licencja Comarch ERP Enterprise zawiera klucz licencyjny: <\/p>\n\n\n\n<p><code>com.cisag.sys.configuration.login.OpenIdConnect.<\/code><\/p>\n\n\n\n<p>W przeciwnym razie aplikacja nie jest dost\u0119pna w systemie ERP.<\/div><\/section>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"uprawnienia-dla-partnerow-biznesowych\" >Uprawnienia dla partner\u00f3w biznesowych<\/h3>\n\n\n\n<p>Aplikacja <em><em><em><em>Dostawca OpenID Connect<\/em><\/em><\/em><\/em> nie jest dost\u0119pna dla partner\u00f3w biznesowych.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"automatyczne-tworzenie-uzytkownikow-systemu-erp-przy-pierwszym-logowaniu-za-pomoca-dostawcy-openid-connect\" >Automatyczne tworzenie u\u017cytkownik\u00f3w systemu ERP przy pierwszym logowaniu za pomoc\u0105 dostawcy OpenID Connect<\/h3>\n\n\n\n<p>W systemie ERP mo\u017cna skonfigurowa\u0107 automatyczne tworzenie u\u017cytkownik\u00f3w przy pierwszym logowaniu za pomoc\u0105 dostawcy OpenID Connect. W tym celu nale\u017cy ustawi\u0107 w systemie ERP w\u0142a\u015bciwo\u015b\u0107 systemow\u0105:<\/p>\n\n\n\n<p><code>com.cisag.sys.kernel.webserver.session.CisSessionFilterOpenIdCreateUser=true<\/code><\/p>\n\n\n\n<p>Przy pierwszym logowaniu do systemu za pomoc\u0105 OpenID Connect u\u017cytkownik zostaje automatycznie utworzony. Nazwa u\u017cytkownika jest przenoszona z atrybutu <em>preferred user name<\/em> (w Keycloak: <em>Username<\/em>). Je\u015bli u\u017cytkownik o takiej nazwie ju\u017c istnieje w systemie ERP, nowy u\u017cytkownik otrzyma kolejn\u0105 numeracj\u0119. Przenoszona jest r\u00f3wnie\u017c pe\u0142na nazwa oraz adres e-mail. Synchronizacja przynale\u017cno\u015bci do grup tak\u017ce odbywa si\u0119 przy pierwszym logowaniu.<\/p>\n\n\n\n<section class=\"document-alert-box indicator\"><div class=\"document-alert-title\">Wskaz\u00f3wka<\/div><div class=\"document-alert-content\">Utworzenie u\u017cytkownika mo\u017ce wyd\u0142u\u017cy\u0107 czas pierwszego logowania.<\/div><\/section>\n\n\n\n<p>Dalsze informacje na temat u\u017cytkownik\u00f3w systemu ERP znajduj\u0105 si\u0119 w dokumentacji <em><em><a href=\"https:\/\/pomoc.comarch.pl\/cee\/index.php\/documentation\/panel-system-typ-uzytkownik\/\">Panel system: U\u017cytkownik<\/a><\/em><\/em>.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" id=\"konfiguracja-keycloak-jako-dostawcy-openid-connect\" >Konfiguracja <em>Keycloak <\/em>jako dostawcy OpenID Connect<\/h3>\n\n\n\n<p>Keycloak to zewn\u0119trzne oprogramowanie open source umo\u017cliwiaj\u0105ce zarz\u0105dzanie u\u017cytkownikami i logowaniem przy u\u017cyciu Single Sign-On.<\/p>\n\n\n\n<section class=\"document-alert-box indicator\"><div class=\"document-alert-title\">Wskaz\u00f3wka<\/div><div class=\"document-alert-content\">Comarch S.A. nie ponosi odpowiedzialno\u015bci za korzystanie z oprogramowania <em>Keycloak<\/em>.<\/div><\/section>\n\n\n\n<p>Do podstawowej konfiguracji i u\u017cytkowania Keycloak nale\u017cy korzysta\u0107 z oficjalnej dokumentacji dost\u0119pnej pod adresem:<br><a class=\"\" href=\"https:\/\/www.keycloak.org\/documentation\">https:\/\/www.keycloak.org\/documentation<\/a> <em>(stan na 31.01.2025)<\/em><\/p>\n\n\n\n<p>Poni\u017cej opisano ustawienia wymagane do u\u017cycia <em>Keycloak<\/em> jako dostawcy OpenID Connect do logowania w systemie ERP:<\/p>\n\n\n\n<p>Aby u\u017cywa\u0107 oprogramowania <em>Keycloak<\/em> jako dostawcy OpenID Connect do logowania w Comarch ERP Enterprise, nale\u017cy w <em>Keycloak <\/em>zdefiniowa\u0107 klienta dla tego systemu. Nale\u017cy przy tym zwr\u00f3ci\u0107 uwag\u0119 na nast\u0119puj\u0105ce kwestie:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Pola <em>Valid Redirect URIs<\/em> oraz <em>Web origins<\/em> w <em>Keycloak <\/em>musz\u0105 zawiera\u0107 adres(y) serwera aplikacyjnego Comarch ERP Enterprise, z kt\u00f3rego b\u0119dzie realizowane logowanie przez <em>Keycloak<\/em>. Do warto\u015bci pola <em>Valid Redirect URIs<\/em> nale\u017cy doda\u0107 na ko\u0144cu <em>\/*<\/em>.<\/li>\n\n\n\n<li>Opcja <em>Standard flow<\/em> musi by\u0107 aktywna.<\/li>\n\n\n\n<li>Nale\u017cy aktywowa\u0107 <em>Client authentication<\/em> i w zak\u0142adce <em>Credentials<\/em> wybra\u0107 opcj\u0119 <em>Client Id and Secret<\/em>. Wygenerowany <em>Client Secret<\/em> nale\u017cy wprowadzi\u0107 w Comarch ERP Enterprise.<\/li>\n\n\n\n<li>Nale\u017cy aktywowa\u0107 <em>realm roles<\/em> lub <em>client roles<\/em> w celu skonfigurowania przynale\u017cno\u015bci do grup.<\/li>\n<\/ul>\n\n\n\n<p>Aby skonfigurowa\u0107 <em>Keycloak <\/em>jako dostawc\u0119 OpenID Connect w systemie ERP, nale\u017cy:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>W polu <em>ID klienta<\/em> wprowadzi\u0107 identyfikator klienta z <em>Keycloak<\/em><\/li>\n\n\n\n<li>W polu <em>Has\u0142o<\/em> wprowadzi\u0107 warto\u015b\u0107 <em>Client Secret<\/em> z <em>Keycloak<\/em><\/li>\n\n\n\n<li>W polu <em>URL dostawcy<\/em> nale\u017cy wprowadzi\u0107 adres serwera <em>Keycloak<\/em>, uzupe\u0142niony o <code>\/realms\/<\/code> i nazw\u0119 realm, w kt\u00f3rym zdefiniowano klienta.<\/li>\n<\/ul>\n\n\n\n<p>Je\u015bli w tabeli <em>Przynale\u017cno\u015b\u0107 do grup<\/em> dodano nowy wpis, synchronizacja przynale\u017cno\u015bci do grup nast\u0119puje przy ka\u017cdym logowaniu u\u017cytkownika.<\/p>\n\n\n\n<section class=\"document-alert-box indicator\"><div class=\"document-alert-title\">Wskaz\u00f3wka<\/div><div class=\"document-alert-content\">W <em>Keycloak <\/em>musz\u0105 by\u0107 aktywne role typu <em>realm<\/em> lub <em>client<\/em>, aby synchronizacja by\u0142a mo\u017cliwa.<\/div><\/section>\n","protected":false},"author":18,"comment_status":"closed","ping_status":"closed","template":"","format":"standard","meta":{"footnotes":""},"class_list":["post-31432","ht_kb","type-ht_kb","status-publish","format-standard","hentry","ht_kb_category-uwierzytelnianie-i-autoryzacja"],"_links":{"self":[{"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/ht_kb\/31432","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/ht_kb"}],"about":[{"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/types\/ht_kb"}],"author":[{"embeddable":true,"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/users\/18"}],"replies":[{"embeddable":true,"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/comments?post=31432"}],"version-history":[{"count":8,"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/ht_kb\/31432\/revisions"}],"predecessor-version":[{"id":31657,"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/ht_kb\/31432\/revisions\/31657"}],"wp:attachment":[{"href":"https:\/\/pomoc.comarch.pl\/cee\/640\/index.php\/wp-json\/wp\/v2\/media?parent=31432"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}