Some checks are pending
TheCr3w Docker Build and Deploy Pipeline / build-and-package (push) Waiting to run
86 lines
3.3 KiB
Markdown
86 lines
3.3 KiB
Markdown
# 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:
|
|
|
|
```bash
|
|
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.
|