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

3.0 KiB

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:

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