Till Tomczak 94532743ad Add OAuth configuration script with GitHub Enterprise support
🤖 Generated with [Claude Code](https://claude.ai/code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-04-01 15:04:20 +02:00

80 lines
3.0 KiB
Markdown

# MYP OAuth Konfigurationsanleitung
Dieses Dokument beschreibt, wie die OAuth-Konfiguration für das MYP-Projekt eingerichtet wird.
## Überblick
Das MYP Frontend verwendet GitHub OAuth zur Authentifizierung. Die Konfiguration erfolgt über
Umgebungsvariablen, die in der Datei `/srv/myp-env/github.env` gespeichert werden.
## Konfiguration mit configure-oauth.sh
Wir haben ein Skript erstellt, um die OAuth-Konfiguration zu vereinfachen:
```bash
sudo ./configure-oauth.sh
```
Das Skript führt folgende Aktionen aus:
1. Erfasst die benötigten OAuth-Konfigurationsinformationen interaktiv
2. Speichert diese in `/srv/myp-env/github.env`
3. Aktualisiert einen laufenden Docker-Container (falls vorhanden)
4. Bietet die Option, den Container neu zu starten
## Benötigte Informationen
Für die Konfiguration werden folgende Informationen benötigt:
1. **GitHub-Typ**: GitHub Enterprise (git.i.mercedes-benz.com) oder GitHub.com
2. **OAuth Callback URL**: Die URL, zu der GitHub nach der Authentifizierung zurückleitet
- Standard für Unternehmensumgebung: `http://m040tbaraspi001.de040.corpintra.net/auth/login/callback`
- Standard für lokale Entwicklung: `http://localhost:3000/auth/login/callback`
3. **GitHub OAuth Client ID**: Von der GitHub OAuth App-Konfiguration
4. **GitHub OAuth Client Secret**: Von der GitHub OAuth App-Konfiguration
## Konfiguration der GitHub OAuth App
1. Navigieren Sie zu Ihren GitHub-Einstellungen (Organisationseinstellungen für Enterprise)
2. Wählen Sie "OAuth Apps" oder "Developer Settings" > "OAuth Apps"
3. Erstellen Sie eine neue OAuth App mit:
- **Name**: MYP (Manage Your Printer)
- **Homepage URL**: `http://m040tbaraspi001.de040.corpintra.net` (oder Ihre lokale URL)
- **Authorization callback URL**: Exakt die URL, die Sie auch im Skript konfigurieren
- **Description**: Optional
## Umgebungsvariablen
Die folgenden Umgebungsvariablen werden vom Skript konfiguriert:
```
# OAuth Callback URL
NEXT_PUBLIC_OAUTH_CALLBACK_URL=http://m040tbaraspi001.de040.corpintra.net/auth/login/callback
OAUTH_CALLBACK_URL=http://m040tbaraspi001.de040.corpintra.net/auth/login/callback
# GitHub OAuth Credentials
AUTH_GITHUB_CLIENT_ID=your_client_id
AUTH_GITHUB_CLIENT_SECRET=your_client_secret
# Kompatibilitäts-Variablen
OAUTH_CLIENT_ID=your_client_id
OAUTH_CLIENT_SECRET=your_client_secret
# GitHub Server-Konfiguration
GITHUB_ENTERPRISE=true
GITHUB_DOMAIN=https://git.i.mercedes-benz.com
```
## Deployment mit OAuth-Konfiguration
Die Deployment-Skripte `raspi-frontend-deploy.sh` sind so konfiguriert, dass sie die OAuth-Konfiguration aus
`/srv/myp-env/github.env` laden und dem Container zur Verfügung stellen.
## Fehlerbehebung
Falls die OAuth-Authentifizierung nicht funktioniert:
1. Prüfen Sie, ob die Callback-URL exakt mit der in GitHub konfigurierten URL übereinstimmt
2. Stellen Sie sicher, dass der Docker-Container die Umgebungsvariablen korrekt übernimmt
3. Überprüfen Sie die Netzwerkerreichbarkeit zwischen dem Frontend und dem GitHub-Server
4. Prüfen Sie die Frontend-Logs auf OAuth-bezogene Fehlermeldungen