OAuth 2.1

Nechte jiné aplikace přihlašovat uživatele účtem Bot-Hosting, podobně jako přihlášení přes Discord. Postaveno na OAuth 2.1 a PKCE, takže funguje s každým standardním klientem OAuth.

Klíč API použijte k ovládání vlastního účtu. OAuth použijte, když vytváříte aplikaci, která jedná na účtech jiných lidí, aby se přihlásili a dali souhlas, místo aby vkládali klíč. Právě tímto postupem se připojují i AI asistenti jako ChatGPT.

Postup

  1. 01 Vytvořte aplikaci Zadejte název a redirect URI v nastavení pro vývojáře. Získáte veřejné client_id, bez tajného klíče.
  2. 02 Pošlete uživatele k autorizaci Přesměrujte na /oauth/authorize s PKCE. Uživatel se přihlásí a schválí oprávnění.
  3. 03 Vyměňte kód Vrátí se s kódem. Odešlete ho metodou POST na koncový bod tokenu a získáte přístupový token.
  4. 04 Volejte API jejich jménem Pošlete token jako Bearer na /api/v1 a obnovujte ho na pozadí.

Koncové body

Koncové bodyÚčel
GET /oauth/authorizeObrazovka souhlasu uživatele, otevřená v prohlížeči.
POST /api/oauth/tokenVýměna kódu za token nebo jeho obnovení.
POST /api/oauth/registerDynamic Client Registration (RFC 7591), volitelné.
GET /.well-known/oauth-authorization-serverMetadata pro zjišťování.
GET /.well-known/oauth-protected-resourceMetadata prostředku, používaná klienty MCP.

Platnost tokenů

Autorizační kód 10 min Jednorázový, svázaný s PKCE.
Přístupový token 7 d Bearer pro volání /api/v1.
Obnovovací token 30 d Při každém použití se vymění.

Obnovení

Každé obnovení vrátí nový obnovovací token a starý zneplatní: uložený token vždy přepište. Pokud obnovení vrátí invalid_grant, pošlete uživatele znovu od kroku 1.

Zabezpečení

  • Tokeny ukládejte na straně serveru a svažte je s uživatelem. Nikdy je neposílejte do prohlížeče ani do veřejného repozitáře.
  • Tokeny se zneplatní ve chvíli, kdy uživatel vaši aplikaci odpojí.
  • V produkci používejte redirect URI s https. Pro místní testování se přijímá i http.
  • Tokeny OAuth nikdy nedávají práva správce, bez ohledu na schválená oprávnění.