OAuth 2.1
Låt andra appar logga in sina användare med ett Bot-Hosting-konto, som Logga in med Discord. Byggt på OAuth 2.1 och PKCE, så alla standardklienter för OAuth fungerar.
Använd en API-nyckel för att styra ditt eget konto. Använd OAuth när du bygger en app som agerar på andras konton, så att de loggar in och ger sitt medgivande i stället för att klistra in en nyckel. AI-assistenter som ChatGPT ansluter genom exakt det här flödet.
Flödet
- 01 Skapa en app Registrera ett namn och en redirect-URI i dina utvecklarinställningar. Du får ett publikt client_id, utan hemlighet.
- 02 Skicka användare för godkännande Omdirigera till /oauth/authorize med PKCE. Användaren loggar in och godkänner behörighetsomfången.
- 03 Byt koden mot en token De kommer tillbaka med en kod. Skicka den med POST till token-endpointen för att få en åtkomsttoken.
- 04 Anropa API:t som dem Skicka token som Bearer till /api/v1 och förnya den i bakgrunden.
Endpoints
| Endpoints | Syfte |
|---|---|
| GET /oauth/authorize | Skärm för användarens medgivande, öppnas i webbläsaren. |
| POST /api/oauth/token | Byt en kod mot en token, eller förnya en. |
| POST /api/oauth/register | Dynamic Client Registration (RFC 7591), valfritt. |
| GET /.well-known/oauth-authorization-server | Metadata för upptäckt. |
| GET /.well-known/oauth-protected-resource | Resursmetadata, används av MCP-klienter. |
Livslängd för tokens
Auktoriseringskod 10 min Engångsbruk, bunden till PKCE.
Åtkomsttoken 7 dagar Bearer för anrop till /api/v1.
Refresh-token 30 dagar Roteras vid varje användning.
Förnyelse
Varje förnyelse ger en ny refresh-token och återkallar den gamla: skriv alltid över den sparade. Om en förnyelse returnerar invalid_grant, skicka användaren tillbaka till steg 1.
Säkerhet
- Spara tokens på serversidan, kopplade till din användare. Skicka dem aldrig till webbläsaren eller ett publikt repository.
- Tokens återkallas i samma stund som användaren kopplar bort din app.
- Använd redirect-URI:er med https i produktion. http accepteras för lokal testning.
- OAuth-tokens ger aldrig administratörsbehörighet, oavsett vilka behörighetsomfång som godkänns.