thecr3w-dev/docs/FORGEJO-KEYCLOAK.md
TheCr3w Lead Architect dfec61e2cd
Some checks are pending
TheCr3w Docker Build and Deploy Pipeline / build-and-package (push) Waiting to run
docs: add Forgejo Keycloak OIDC integration guide and CLI setup script
2026-10-31 17:11:39 +01:00

3.3 KiB

THECR3W-DEV — INTEGRACJA FORGEJO Z KEYCLOAK (OIDC)

Instancja Keycloak: https://login.thecr3wnet.com (Realm: master)

Instancja Forgejo: https://git.thecr3wnet.com


1. Krok 1: Utworzenie Klienta OIDC w Keycloak

Zaloguj się do panelu administracyjnego Keycloak (https://login.thecr3wnet.com/admin/master/console/). Upewnij się, że jesteś w wymaganym realm: master.

  1. Przejdź do: Clients -> Create client.
  2. General Settings:
    • Client type: OpenID Connect
    • Client ID: forgejo
    • Name: TheCr3w Forgejo Git
    • Kliknij Next.
  3. Capability config:
    • Client authentication: ON (Confidential client)
    • Authorization: OFF
    • Authentication flow:
      • Zaznacz: Standard flow (Authorization Code Flow)
      • Odznacz: Direct access grants, Implicit flow
    • Kliknij Next.
  4. Login settings:
    • Root URL: https://git.thecr3wnet.com
    • Home URL: https://git.thecr3wnet.com/
    • Valid redirect URIs:
      • https://git.thecr3wnet.com/user/oauth2/Keycloak/callback
      • https://git.thecr3wnet.com/user/oauth2/keycloak/callback
    • Valid post logout redirect URIs:
      • https://git.thecr3wnet.com/
    • Web origins:
      • https://git.thecr3wnet.com
    • Kliknij Save.
  5. Pobranie Client Secret:
    • Przejdź do zakładki Credentials.
    • Skopiuj wartość pola Client Secret (będzie potrzebna w Forgejo).

2. Krok 2: Konfiguracja Źródła Uwierzytelniania w Forgejo

Możesz to skonfigurować na dwa sposoby:

Sposób A: Jednym poleceniem w terminalu SSH na serwerze (Rekomendowane)

Zastąp <TWÓJ_CLIENT_SECRET> wartością skopiowaną z Keycloak:

docker exec -u 1000 forgejo forgejo admin auth add-oauth \
  --name Keycloak \
  --provider openidConnect \
  --key forgejo \
  --secret "<TWÓJ_CLIENT_SECRET>" \
  --auto-discovery-url https://login.thecr3wnet.com/realms/master/.well-known/openid-configuration

Sposób B: Przez interfejs graficzny Forgejo

  1. Zaloguj się na konto administratora w https://git.thecr3wnet.com.
  2. Kliknij ikonę profilu w prawym górnym rogu -> Site Administration (Zarządzanie witryną).
  3. Przejdź do zakładki Authentication Sources (Źródła uwierzytelniania) -> kliknij Add Authentication Source.
  4. Wypełnij formularz:
    • Authentication Type: OAuth2
    • Authentication Name: Keycloak
    • OAuth2 Provider: OpenID Connect
    • Client ID (Key): forgejo
    • Client Secret: Wklej skopiowany Client Secret z Keycloak
    • OpenID Connect Auto Discovery URL:
      https://login.thecr3wnet.com/realms/master/.well-known/openid-configuration
    • Zaznacz opcje:
      • Enable Auto-Registration (Automatyczne zakładanie kont przy pierwszym logowaniu)
      • Activate Users (Aktywuj użytkowników automatycznie)
  5. Kliknij Add Authentication Source.

3. Krok 3: Logowanie i Weryfikacja

  1. Otwórz w oknie incognito: https://git.thecr3wnet.com/user/login.
  2. Na ekranie logowania pojawi się niebieski przycisk: Zaloguj przez Keycloak.
  3. Po kliknięciu zostaniesz przekierowany do https://login.thecr3wnet.com (realm master).
  4. Po podaniu loginu i hasła nastąpi automatyczny powrót do Forgejo z zalogowanym użytkownikiem.