docs: Gitea OAuth2 Auth-Sektion und Tech-Stack-Eintrag hinzugefügt
This commit is contained in:
52
README.md
52
README.md
@@ -71,6 +71,7 @@ Go eignet sich hervorragend als Backend-Sprache – die Standardbibliothek ist s
|
||||
**Externe Dependencies (minimal):**
|
||||
- `pgx` – PostgreSQL-Treiber (direktes SQL, kein ORM)
|
||||
- `godotenv` – `.env`-Datei laden
|
||||
- `golang.org/x/oauth2` – OAuth2-Flow für Gitea-Login
|
||||
|
||||
**Backend-Aufgaben:**
|
||||
- `GET /api/projects` – alle getaggten Repos aus der DB zurückgeben
|
||||
@@ -91,6 +92,35 @@ log.Fatal(http.ListenAndServe(":8080", mux))
|
||||
|
||||
---
|
||||
|
||||
## 🔐 Auth: **Gitea OAuth2**
|
||||
|
||||
Gitea kann selbst als OAuth2-Provider fungieren – Nutzer loggen sich mit ihrem Gitea-Account im Dashboard ein, genau wie "Login with GitHub".
|
||||
|
||||
### Setup in Gitea:
|
||||
|
||||
1. In Gitea unter **Settings → Applications → OAuth2 Applications** eine neue App registrieren
|
||||
2. `Client ID` und `Client Secret` in die `.env` eintragen
|
||||
3. Redirect URI auf `https://dashboard.example.com/auth/callback` setzen
|
||||
|
||||
### Flow:
|
||||
|
||||
```
|
||||
Nutzer klickt "Login mit Gitea"
|
||||
→ Weiterleitung zur Gitea-Instanz (Authorization Endpoint)
|
||||
→ Nutzer bestätigt Zugriff
|
||||
→ Gitea leitet mit Authorization Code zurück
|
||||
→ Backend tauscht Code gegen Access Token
|
||||
→ Nutzer ist eingeloggt, Gitea-Identität bekannt
|
||||
```
|
||||
|
||||
**Vorteile:**
|
||||
- Kein eigenes Auth-System nötig – Gitea übernimmt Passwörter und Sessions
|
||||
- Nutzeridentität direkt bekannt → Repos und Issues können nutzerbasiert gefiltert werden
|
||||
- Schreibrechte (Issues erstellen/schließen) nur für den jeweiligen Repo-Owner
|
||||
- Implementiert mit `golang.org/x/oauth2` – offizielles Go-Paket, keine Drittanbieter-Lib nötig
|
||||
|
||||
---
|
||||
|
||||
## 🗄️ Datenbank: **PostgreSQL**
|
||||
|
||||
**Schema-Übersicht:**
|
||||
@@ -141,20 +171,22 @@ CREATE TABLE webhook_events (
|
||||
- [ ] **v0.2** – Webhook-Listener für Echtzeit-Updates
|
||||
- [ ] **v0.3** – Issues & Milestones im Dashboard anzeigen
|
||||
- [ ] **v0.4** – Issues direkt aus dem Dashboard erstellen/schließen (bi-direktional)
|
||||
- [ ] **v0.5** – Verknüpfung mit Freelancer-Dashboard (Repos = Projekte)
|
||||
- [ ] **v1.0** – Auth, Multi-User, öffentliche Projektsseiten
|
||||
- [ ] **v0.5** – Gitea OAuth2 Login
|
||||
- [ ] **v0.6** – Verknüpfung mit Freelancer-Dashboard (Repos = Projekte)
|
||||
- [ ] **v1.0** – Multi-User, öffentliche Projektsseiten
|
||||
|
||||
---
|
||||
|
||||
## 🔧 Tech Stack
|
||||
|
||||
| Schicht | Technologie |
|
||||
|------------|------------------------------|
|
||||
| Frontend | SvelteKit + TailwindCSS |
|
||||
| Backend | Go + net/http (Standardlib) |
|
||||
| Datenbank | PostgreSQL + pgx |
|
||||
| API | Gitea REST API v1 |
|
||||
| Deployment | Docker Compose |
|
||||
| Schicht | Technologie |
|
||||
|--------------|--------------------------------|
|
||||
| Frontend | SvelteKit + TailwindCSS |
|
||||
| Backend | Go + net/http (Standardlib) |
|
||||
| Datenbank | PostgreSQL + pgx |
|
||||
| Auth | Gitea OAuth2 + golang.org/x/oauth2 |
|
||||
| API | Gitea REST API v1 |
|
||||
| Deployment | Docker Compose |
|
||||
|
||||
---
|
||||
|
||||
@@ -166,7 +198,7 @@ git clone https://gitea.starfour.de/Jannis/gitea-projekt-dashboard
|
||||
|
||||
# Umgebungsvariablen setzen
|
||||
cp .env.example .env
|
||||
# GITEA_URL, GITEA_TOKEN, DATABASE_URL, DASHBOARD_TAG eintragen
|
||||
# GITEA_URL, GITEA_TOKEN, GITEA_CLIENT_ID, GITEA_CLIENT_SECRET, DATABASE_URL, DASHBOARD_TAG eintragen
|
||||
|
||||
# Mit Docker starten
|
||||
docker compose up -d
|
||||
|
||||
Reference in New Issue
Block a user