OAuth 2.1

Lad andre apps logge deres brugere ind med en Bot-Hosting-konto, ligesom Log ind med Discord. Bygget på OAuth 2.1 og PKCE, så enhver standard OAuth-klient virker.

Brug en API-nøgle til at styre din egen konto. Brug OAuth, når du bygger en app, der handler på andres konti, så de logger ind og giver samtykke i stedet for at indsætte en nøgle. AI-assistenter som ChatGPT forbinder netop via dette flow.

Flowet

  1. 01 Opret en app Registrér et navn og en redirect-URI i dine udviklerindstillinger. Du får et offentligt client_id uden secret.
  2. 02 Send brugere til godkendelse Omdirigér til /oauth/authorize med PKCE. Brugeren logger ind og godkender scopes.
  3. 03 Byt koden De kommer tilbage med en kode. POST den til token-endpointet for at få et access token.
  4. 04 Kald API'en på deres vegne Send tokenet som Bearer til /api/v1, og forny det i baggrunden.

Endpoints

EndpointsFormål
GET /oauth/authorizeSkærmbillede til brugerens samtykke, åbnet i browseren.
POST /api/oauth/tokenByt en kode til et token, eller forny et.
POST /api/oauth/registerDynamic Client Registration (RFC 7591), valgfri.
GET /.well-known/oauth-authorization-serverDiscovery-metadata.
GET /.well-known/oauth-protected-resourceRessourcemetadata, bruges af MCP-klienter.

Tokens levetid

Autorisationskode 10 min. Til engangsbrug, bundet til PKCE.
Access token 7 dage Bearer til kald af /api/v1.
Refresh token 30 dage Roteres ved hver brug.

Fornyelse

Hver fornyelse returnerer et nyt refresh token og tilbagekalder det gamle: overskriv altid det gemte. Hvis en fornyelse returnerer invalid_grant, send brugeren gennem trin 1 igen.

Sikkerhed

  • Gem tokens på serversiden, knyttet til din bruger. Send dem aldrig til browseren eller et offentligt repository.
  • Tokens tilbagekaldes i det øjeblik, brugeren afbryder forbindelsen til din app.
  • Brug https-redirect-URI'er i produktion. http accepteres til lokal test.
  • OAuth-tokens giver aldrig admin-adgang, uanset hvilke scopes der godkendes.