OAuth 2.0 ve PKCE
Kullanıcı adına yetki almak isteyen uygulamalar için authorization code + PKCE akışı.
1 dk okuma 2 bölüm
Beklio Auth, kayıtlı OAuth istemcileri için authorization code akışını destekler. Public istemcilerde (mobil, SPA) PKCE zorunludur ve yalnızca S256 yöntemi kabul edilir.
Akış#
- Rastgele bir
code_verifierüretin vecode_challenge = BASE64URL(SHA256(code_verifier))hesaplayın. - Kullanıcıyı
https://accounts.beklio.com/oauth/authorizeadresineresponse_type=code,client_id,redirect_uri,scope,state,code_challengevecode_challenge_method=S256ile yönlendirin. - Kullanıcı onay verince
redirect_uriadresinizecodevestateile dönülür.statedeğerini mutlaka doğrulayın. - Kodu token ile takas edin.
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"
}'Yanıt access_token, token_type: "Bearer", expires_in ve istemci izinliyse refresh_token içerir.
Kurallar#
redirect_uri, istemci için kayıtlı adreslerden biriyle birebir eşleşmelidir.- Authorization code tek kullanımlıktır ve kısa ömürlüdür; aynı kodla ikinci takas reddedilir.
- Yenileme için
grant_type: "refresh_token"kullanın.
Bir şey eksik veya hatalı mı? Destek ekibine yazın; yanıttaki X-Request-Id değerini eklemek çözümü hızlandırır.