OAuth 2.1

La andre apper logge inn brukerne sine med en Bot-Hosting-konto, som Logg inn med Discord. Bygget på OAuth 2.1 og PKCE, så enhver standard OAuth-klient fungerer.

Bruk en API-nøkkel for å styre din egen konto. Bruk OAuth når du bygger en app som handler på andres kontoer, slik at de logger inn og samtykker i stedet for å lime inn en nøkkel. AI-assistenter som ChatGPT kobler til gjennom akkurat denne flyten.

Flyten

  1. 01 Opprett en app Registrer et navn og en redirect-URI i utviklerinnstillingene dine. Du får en offentlig client_id, uten hemmelighet.
  2. 02 Send brukerne til autorisering Omdiriger til /oauth/authorize med PKCE. Brukeren logger inn og godkjenner tilgangsomfangene.
  3. 03 Bytt inn koden De kommer tilbake med en kode. Send den med POST til token-endepunktet for å få et access token.
  4. 04 Kall API-et som dem Send tokenet som Bearer til /api/v1, og forny det i bakgrunnen.

Endepunkter

EndepunkterFormål
GET /oauth/authorizeSamtykkeskjerm for brukeren, åpnet i nettleseren.
POST /api/oauth/tokenBytt en kode mot et token, eller forny et.
POST /api/oauth/registerDynamic Client Registration (RFC 7591), valgfritt.
GET /.well-known/oauth-authorization-serverMetadata for oppdagelse.
GET /.well-known/oauth-protected-resourceRessursmetadata, brukt av MCP-klienter.

Levetid for tokens

Autorisasjonskode 10 min Engangsbruk, bundet til PKCE.
Access token 7 dager Bearer for kall til /api/v1.
Refresh token 30 dager Roteres ved hver bruk.

Fornyelse

Hver fornyelse gir et nytt refresh token og tilbakekaller det gamle: overskriv alltid det lagrede. Hvis en fornyelse gir invalid_grant, send brukeren tilbake gjennom steg 1.

Sikkerhet

  • Lagre tokens på serversiden, knyttet til brukeren din. Send dem aldri til nettleseren eller et offentlig repository.
  • Tokens tilbakekalles i det øyeblikket brukeren kobler fra appen din.
  • Bruk redirect-URI-er med https i produksjon. http godtas for lokal testing.
  • OAuth-tokens gir aldri admin-tilgang, uansett hvilke tilgangsomfang som godkjennes.