aYOUne

Authentifizierung

Die CLI nutzt denselben Auth-Flow wie alle anderen aYOUne-Clients: OAuth2-PKCE gegen auth.ayoune.app, JWT-Tokens mit 60-Minuten-Lifetime und automatischem Refresh 5 Minuten vor Ablauf.

Flow

  1. ay login startet einen lokalen HTTP-Listener auf einem freien Port.
  2. Browser öffnet https://auth.ayoune.app/?continue=http://localhost:{port}&code_challenge=....
  3. Nach Login redirected der Auth-Service mit ?code=... zurück auf den Listener.
  4. CLI tauscht Code gegen { accessToken, refreshToken } via /oauth/token.
  5. Tokens werden in ~/.aYOUne/storage/tokens.json abgelegt (OS-Dateirechte 0600).

Token-Lifecycle

Token TTL Refresh
accessToken 60 min Automatisch 55min nach Ausstellung
refreshToken 30 Tage Nur beim Re-Login erneuert

Wenn der Refresh fehlschlägt (z.B. Refresh-Token expired), wird der User zum erneuten ay login aufgefordert.

Service-Accounts (Headless)

Für CI/CD + scheduled Scripts: API-Keys statt Browser-Login.

ay login --api-key $AYOUNE_API_KEY

API-Keys werden pro Customer im Admin-UI angelegt (mobile-app → Einstellungen → Integrationen → API-Keys). Sie haben dieselben Rechte wie der erzeugende User und können widerrufen werden.

Rechte-Scope

Die CLI respektiert die serverseitigen Rechte-Gates (<module>.<entity>.<verb>, z.B. crm.consumers.read). Unzureichende Rechte resultieren in HTTP-403 mit klarer Meldung.

Prüfen, welche Module dem aktiven User zugänglich sind:

ay access

Siehe auch