OAuth 2.0 und PKCE
Der Authorization-Code-Flow mit PKCE für Apps, die im Namen eines Nutzers handeln möchten.
1 Min. Lesezeit 2 Abschnitte
Beklio Auth unterstützt den Authorization-Code-Flow für registrierte OAuth-Clients. Für öffentliche Clients (Mobile, SPA) ist PKCE verpflichtend, und es wird ausschließlich die Methode S256 akzeptiert.
Ablauf#
- Erzeugen Sie einen zufälligen
code_verifierund berechnen Siecode_challenge = BASE64URL(SHA256(code_verifier)). - Leiten Sie den Nutzer an
https://accounts.beklio.com/oauth/authorizeweiter, mitresponse_type=code,client_id,redirect_uri,scope,state,code_challengeundcode_challenge_method=S256. - Nach der Zustimmung wird der Nutzer mit
codeundstatezu Ihrerredirect_urizurückgeleitet. Prüfen Sie denstate-Wert unbedingt. - Tauschen Sie den Code gegen Tokens.
token-exchange.sh
curl -X POST "https://api.beklio.com/oauth/token" \
-H "Content-Type: application/json" \
-d '{
"grant_type": "authorization_code",
"client_id": "YOUR_CLIENT_ID",
"code": "AUTHORIZATION_CODE",
"redirect_uri": "https://app.example.com/callback",
"code_verifier": "YOUR_CODE_VERIFIER"
}'Die Antwort enthält access_token, token_type: "Bearer", expires_in und – sofern der Client dazu berechtigt ist – ein refresh_token.
Regeln#
redirect_urimuss exakt mit einer der für den Client registrierten Adressen übereinstimmen.- Ein Authorization Code ist einmalig verwendbar und kurzlebig; ein zweiter Austausch mit demselben Code wird abgelehnt.
- Verwenden Sie zum Erneuern
grant_type: "refresh_token".
Fehlt etwas oder ist etwas falsch? Schreiben Sie dem Support-Team; die Angabe des X-Request-Id-Werts aus der Antwort beschleunigt die Lösung.