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
- 01 Opret en app Registrér et navn og en redirect-URI i dine udviklerindstillinger. Du får et offentligt client_id uden secret.
- 02 Send brugere til godkendelse Omdirigér til /oauth/authorize med PKCE. Brugeren logger ind og godkender scopes.
- 03 Byt koden De kommer tilbage med en kode. POST den til token-endpointet for at få et access token.
- 04 Kald API'en på deres vegne Send tokenet som Bearer til /api/v1, og forny det i baggrunden.
Endpoints
| Endpoints | Formål |
|---|---|
| GET /oauth/authorize | Skærmbillede til brugerens samtykke, åbnet i browseren. |
| POST /api/oauth/token | Byt en kode til et token, eller forny et. |
| POST /api/oauth/register | Dynamic Client Registration (RFC 7591), valgfri. |
| GET /.well-known/oauth-authorization-server | Discovery-metadata. |
| GET /.well-known/oauth-protected-resource | Ressourcemetadata, 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.