# 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