İçeriğe geç

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ış#

  1. Rastgele bir code_verifier üretin ve code_challenge = BASE64URL(SHA256(code_verifier)) hesaplayın.
  2. Kullanıcıyı https://accounts.beklio.com/oauth/authorize adresine response_type=code, client_id, redirect_uri, scope, state, code_challenge ve code_challenge_method=S256 ile yönlendirin.
  3. Kullanıcı onay verince redirect_uri adresinize code ve state ile dönülür. state değerini mutlaka doğrulayın.
  4. 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.