# 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 `` wartością skopiowaną z Keycloak: ```bash docker exec -u 1000 forgejo forgejo admin auth add-oauth \ --name Keycloak \ --provider openidConnect \ --key forgejo \ --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.