OAuth 2.1

Lassen Sie andere Apps ihre Nutzer mit einem Bot-Hosting-Konto anmelden, wie bei „Mit Discord anmelden“. Basiert auf OAuth 2.1 und PKCE, daher funktioniert jeder Standard-OAuth-Client.

Verwenden Sie einen API-Schlüssel, um Ihr eigenes Konto zu steuern. Verwenden Sie OAuth, wenn Sie eine App bauen, die im Namen anderer Personen handelt, damit sie sich anmelden und zustimmen, statt einen Schlüssel einzufügen. KI-Assistenten wie ChatGPT verbinden sich genau über diesen Ablauf.

Der Ablauf

  1. 01 App erstellen Registrieren Sie in Ihren Entwicklereinstellungen einen Namen und eine Redirect-URI. Sie erhalten eine öffentliche client_id, ohne Secret.
  2. 02 Nutzer zur Autorisierung weiterleiten Leiten Sie mit PKCE auf /oauth/authorize weiter. Der Nutzer meldet sich an und genehmigt die Scopes.
  3. 03 Code eintauschen Er kommt mit einem Code zurück. Senden Sie ihn per POST an den Token-Endpunkt, um ein Access-Token zu erhalten.
  4. 04 Die API in seinem Namen aufrufen Senden Sie das Token als Bearer an /api/v1 und erneuern Sie es im Hintergrund.

Endpunkte

EndpunkteZweck
GET /oauth/authorizeZustimmungsbildschirm für Nutzer, im Browser geöffnet.
POST /api/oauth/tokenEinen Code gegen ein Token tauschen oder eines erneuern.
POST /api/oauth/registerDynamic Client Registration (RFC 7591), optional.
GET /.well-known/oauth-authorization-serverDiscovery-Metadaten.
GET /.well-known/oauth-protected-resourceRessourcen-Metadaten, von MCP-Clients verwendet.

Token-Laufzeiten

Autorisierungscode 10 Min. Einmalig verwendbar, an PKCE gebunden.
Access-Token 7 Tage Bearer für Aufrufe von /api/v1.
Refresh-Token 30 Tage Wird bei jeder Verwendung rotiert.

Erneuern

Jede Erneuerung liefert ein neues Refresh-Token und widerruft das alte: Überschreiben Sie immer das gespeicherte. Liefert eine Erneuerung invalid_grant, schicken Sie den Nutzer erneut durch Schritt 1.

Sicherheit

  • Speichern Sie Tokens serverseitig, an Ihren Nutzer gebunden. Geben Sie sie niemals an den Browser oder in ein öffentliches Repository.
  • Tokens werden widerrufen, sobald der Nutzer Ihre App trennt.
  • Verwenden Sie in der Produktion https-Redirect-URIs. http wird für lokale Tests akzeptiert.
  • OAuth-Tokens gewähren nie Admin-Rechte, unabhängig von den genehmigten Scopes.