Skip to content
Rozszerzenie TYPO3

OIDC dla TYPO3

OpenID Connect dla TYPO3: Azure AD, Keycloak, Okta SSO. Konfiguracja, mapowanie claimów i rozwiązywanie problemów. Z wykorzystaniem AI.

Umów bezpłatną konsultację

Jak projekty TYPO3 bez własnego stosu tożsamości podłączają się do Azure AD, Keycloak lub Okta

W każdej firmie, która prowadzi Microsoft 365, Google Workspace lub centralny Keycloak, zarządzanie użytkownikami jest już dawno rozstrzygnięte: wszystkie konta pracownicze żyją w IdP, a każda nowa aplikacja ma się tam podłączać, a nie zarządzać własnymi hasłami. Rozszerzenie OIDC dla TYPO3 obsługuje dokładnie ten wzorzec, osadzając OpenID Connect jako protokół uwierzytelniania w TYPO3 i tym samym udostępniając Azure AD, Keycloak, Okta, Google Workspace lub Auth0 jako IdP, bez konieczności prowadzenia własnego Shibboleth SP. Grupą docelową są portale firmowe, intranety, obszary logowania klienta i wszystkie instalacje TYPO3, które mają się wpasować w istniejące enterprise’owe krajobrazy tożsamości.

Typowe scenariusze zastosowania

Koncern maszynowy z 14 000 pracowników prowadzi swój intranet pracowniczy na TYPO3. Dział IT już dawno zdecydował, że każda nowa aplikacja uwierzytelnia się przez Azure AD i wymusza tam Multi-Factor-Authentication. Rozszerzenie OIDC pobiera ID-Tokens z Azure AD, odczytuje przypisania grup zawarte w claimie i przypisuje użytkownika do pasujących grup fe_user. Intranet otrzymuje Single Sign-On, MFA i Conditional Access bez dodatkowej infrastruktury, wyłącznie przez porządną konfigurację.

Drugi scenariusz pochodzi z sektora MSP: dostawca oprogramowania z portalem klienta na TYPO3 używa Keycloak jako centralnego brokera, bo jego klienci przychodzą z loginami użytkowników albo z social-loginami jak Google czy GitHub. Keycloak ujednolica to i mówi na zewnątrz OIDC. TYPO3 używa rozszerzenia OIDC i otrzymuje dostęp do wszystkich wariantów logowania, samo nie wiedząc, że w tle działa social-login.

Trzeci przypadek to urzędy i administracje wojewódzkie, które przechodzą na konta obywatelskie oparte na Keycloak. Portal TYPO3, przez który obywatele składają wnioski, może przez rozszerzenie OIDC podłączyć się do wojewódzkiego Keycloak. Atrybut eID z brokera ląduje bezpośrednio w fe_user, a poziom uwierzytelnienia można ocenić przez claim acr.

Architektura techniczna: Authorization-Code-Flow w TYPO3

OpenID Connect to warstwa uwierzytelniania na OAuth 2.0, a rozszerzenie OIDC implementuje dokładnie Authorization-Code-Flow. Przebieg jest prostszy niż SAML: TYPO3 przekierowuje użytkownika z Authorization Request do IdP, po pomyślnym zalogowaniu otrzymuje z powrotem kod, wymienia go po stronie serwera na Access-Token i pobiera nim dane użytkownika z endpointu UserInfo providera. Claimy z tej odpowiedzi, zazwyczaj sub, email, name, groups i roles, są mapowane na pola użytkownika TYPO3.

Konfiguracja rozszerzenia odbywa się przez konfigurację rozszerzenia TYPO3, w której endpointy autoryzacji, tokena i UserInfo providera wpisuje się pojedynczo. Wartości te podaje dokument discovery, który każdy provider zgodny z OIDC udostępnia pod /.well-known/openid-configuration. Claim-mapping dla fe_users odbywa się przez konfigurację TypoScript, która odwzorowuje lokalne nazwy pól na ścieżki claim.

Częste problemy i rozwiązania

Pierwszy problem dotyczy formatów claim: Azure AD dostarcza grupy jako ID obiektów (GUID), a nie jako czytelne nazwy. Kto oczekuje claimu group_ids, a otrzymuje group_names, widzi puste grupy użytkowników w TYPO3. Porządne rozwiązanie leży w samej aplikacji Azure-AD: w bloku Token-Configuration można ustalić, które atrybuty są zwracane jako claimy, a dodatkowo regułowy zestaw Claim-Transformation może przekładać GUID na czytelne nazwy.

Drugi problem to Redirect-URI. Każdy klient OIDC musi zarejestrować w IdP dokładnie ten Redirect-URI, do którego jest odsyłany po zalogowaniu. Różnice w wielkości liter, zapomniane slashe końcowe albo przejście z HTTP na HTTPS powodują natychmiastowe błędy logowania, które nie są widoczne w logu TYPO3, bo błąd występuje w IdP. Gosign konfiguruje oddzielnych klientów dla staging i production z czystymi Redirect-URI i dokumentuje każdą zmianę w procesie deploymentu.

Trzeci temat to odświeżanie tokenów. Kto po zalogowaniu dalej korzysta z Access-Tokena, na przykład do wywołań API w IdP, potrzebuje Refresh-Tokens, które IdP wystawia tylko wtedy, gdy scope offline_access został zażądany przy logowaniu. Sesja TYPO3 od tego nie zależy: jej długość ustala samo TYPO3, nawet gdy token wygaśnie, zwykle po godzinie. Kto potrzebuje Refresh-Tokens, dodaje scope offline_access w konfiguracji rozszerzenia; świeży token pobiera własny kod przez metodę getFreshAccessToken() rozszerzenia.

Czwarty problem dotyczy wylogowania. OIDC zna Front-Channel i Back-Channel-Logout; rozszerzenie nie obsługuje żadnego z nich, więc wylogowanie u providera trzeba podłączyć samodzielnie. Kto oczekuje prawdziwego Single Logout na wielu aplikacjach, musi skonfigurować odpowiedni End-Session-Endpoint providera i zapewnić, że TYPO3 wywołuje URL wylogowania IdP przy końcu sesji. Bez tej konfiguracji użytkownik pozostaje zalogowany w IdP, mimo że wylogował się z TYPO3.

Migracja i kompatybilność wersji

Rozszerzenie OIDC obsługuje obecnie TYPO3 od v12 do v14 (5.x dla v12 i v13, 6.x dla v13 i v14), podczas gdy starsze projekty v11 często jeszcze używają samoróbek OAuth lub shibboleth_auth. Ścieżka migracji z Shibboleth na OIDC jest dobrze ugruntowana, o ile IdP mówi oboma protokołami: Keycloak, ADFS i Azure AD potrafią obsługiwać SAML i OIDC równolegle, dzięki czemu przejście bez big-bang jest możliwe.

Kto migruje z czysto bazodanowego zarządzania fe_user, musi odwzorować istniejące konta na claimy OIDC za pomocą strategii matchingu. Adres e-mail jest typowym kotwicznym identyfikatorem, ale nie zawsze wystarcza, bo adresy mailowe mogą się zmieniać. Claim sub, zapisany jako trwały unikalny identyfikator w fe_user, jest bardziej solidnym rozwiązaniem. Gosign przejmuje takie migracje wraz z dopasowaniem istniejących kont i okresem przejściowym, w którym oba ścieżki uwierzytelniania działają równolegle.

Dla zespołów, które właśnie uruchamiają nowy projekt TYPO3, OIDC jest w zdecydowanej większości przypadków pierwszym wyborem. Konfiguracja jest smuklejsza niż przy SAML, nakład pracy klienta mniejszy, a każdy nowoczesny IdP natywnie wspiera protokół. Wyjątki są uzasadnione tylko tam, gdzie wymagania regulacyjne lub federacyjne wyraźnie wymagają SAML, jak w federacjach akademickich. We wszystkich innych scenariuszach, zwłaszcza przy chmurowych IdP i integracjach enterprise, OIDC dostarcza lepszy kompromis między prostotą, bezpieczeństwem i utrzymywalnością.

Rozwój przyspieszony przez AI: 70% szybciej

  • 85% szybciej: Konfiguracja providera z endpointu discovery
  • 75% szybciej: Mapowanie claimów

Aktualizacja TYPO3 i audyt RODO

Aktualizujemy Twoją instalację TYPO3 ekonomicznie do aktualnej wersji LTS - wraz ze wszystkimi rozszerzeniami, również przestarzałymi i niewspieranymi.

Wszystkie rozszerzenia zmigrowane

Również przestarzałe, niewspierane lub własne.

Cena stała

Przejrzyste koszty, bez ukrytych prac dodatkowych.

Przyspieszone AI

30-50% taniej niż rynek dzięki analizie kodu wspomaganej przez AI.

Zero utraty danych

Pełna migracja danych z zabezpieczeniem rollback.

Audyt RODO: Sprawdzamy Twoją instalację TYPO3 pod kątem zgodności z RODO - zgody cookie, tracking, rozszerzenia, formularze i hosting - i wdrażamy wszystkie działania ekonomicznie.

Często zadawane pytania: oidc

OIDC vs. SAML?

OIDC dla nowych projektów (nowocześniejszy). SAML gdy Twój IdP obsługuje tylko SAML.

Powiązane rozszerzenia TYPO3

Gosign to agencja cyfrowa z Hamburga z 25-letnim doświadczeniem w rozwoju TYPO3. Przeanalizowaliśmy ponad 800 rozszerzeń TYPO3 i dziś rozwijamy je przy wsparciu AI nawet o 70% szybciej niż metodami klasycznymi. Naszymi klientami są średnie przedsiębiorstwa, uczelnie wyższe i instytucje publiczne w Europie.

Stan: kwiecień 2026

Umów bezpłatną konsultację

30 minut ze specjalistą TYPO3, bez zobowiązań.

Umów spotkanie