OAuth 2.0 et PKCE
Le flux authorization code + PKCE pour les applications qui souhaitent agir au nom d’un utilisateur.
1 min de lecture 2 sections
Beklio Auth prend en charge le flux authorization code pour les clients OAuth enregistrés. PKCE est obligatoire pour les clients publics (mobile, SPA) et seule la méthode S256 est acceptée.
Déroulement#
- Générez un
code_verifieraléatoire et calculezcode_challenge = BASE64URL(SHA256(code_verifier)). - Redirigez l’utilisateur vers
https://accounts.beklio.com/oauth/authorizeavecresponse_type=code,client_id,redirect_uri,scope,state,code_challengeetcode_challenge_method=S256. - Une fois que l’utilisateur a donné son accord, il est renvoyé vers votre
redirect_uriaveccodeetstate. Vérifiez impérativement la valeur destate. - Échangez le code contre des jetons.
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"
}'La réponse contient access_token, token_type: "Bearer", expires_in et, si le client y est autorisé, un refresh_token.
Règles#
redirect_uridoit correspondre exactement à l’une des adresses enregistrées pour le client.- Un authorization code est à usage unique et de courte durée ; un second échange avec le même code est refusé.
- Utilisez
grant_type: "refresh_token"pour le renouvellement.
Il manque quelque chose ou il y a une erreur ? Écrivez à l’équipe d’assistance, en joignant la valeur X-Request-Id de la réponse, vous accélérerez la résolution.