Skip to main content
Authorization Code akışı iki HTTP adımından oluşur: kullanıcının tarayıcısında yetkilendirme, sunucunuzda token değişimi.

Adım 1 — Kullanıcıyı yetkilendirmeye yönlendirin

Kullanıcıyı aşağıdaki URL’e yönlendirin. URL parametrelerini uygun şekilde doldurun ve scope değerini boşluk ile ayırın.

Query parametreleri

string
required
Her zaman code değerini gönderin.
string
required
OAuth uygulamanızın client_id değeri.
string
required
Uygulamanızda kayıtlı redirect_uri değerlerinden biriyle birebir eşleşmelidir. URL-encode edilmiş olarak gönderin.
string
required
Talep ettiğiniz scope’lar, boşluk ile ayrılmış. Uygulamanız oluşturulurken seçtiğiniz scope’ların alt kümesi olmalıdır.
string
required
CSRF koruması için rastgele üretilmiş bir değer. Callback’te aynı değeri alıp karşılaştırmalısınız.

Kullanıcı deneyimi

Kullanıcı daha önce Flextell’e giriş yapmamışsa bir login ekranı görür, sonra uygulamanızın talep ettiği izinleri gösteren bir onay ekranı görür. Onay verdiğinde Flextell onu redirect_uri’ye yönlendirir:
Kullanıcı reddederse:
Callback’te önce state değerinin gönderdiğiniz değerle eşleşip eşleşmediğini kontrol edin. Eşleşmiyorsa isteği reddedin.

Adım 2 — code’u access token ile değişin

Sunucunuzdan token endpoint’ine bir POST atın. Bu istek yalnızca backend’den yapılmalıdır — client_secret tarayıcıda ifşa edilmemelidir.

Başarılı yanıt

string
Her zaman "Bearer".
integer
Access token’ın geçerlilik süresi, saniye cinsinden (1296000 = 15 gün).
string
API isteklerinde Authorization: Bearer <token> olarak gönderin.
string
30 gün içinde access token yenilemek için kullanın. Detay: Token Yenileme.
string
Yalnızca openid scope’u talep edildiyse döner. Kullanıcının kimliğini kanıtlayan RS256 imzalı JWT. Detay: OpenID Connect.
Yetkilendirme sırasında scope=openid ... ekleyerek OIDC akışını başlatabilirsiniz; yanıtta ekstra bir id_token alırsınız. Kullanıcı bilgisi için profile, email, phone scope’larını da ekleyebilirsiniz. Tüm detaylar: OpenID Connect.

Hata yanıtları

PKCE (tek sayfa / mobil uygulamalar)

client_secret saklayamayan istemciler (SPA, native mobile) için PKCE (Proof Key for Code Exchange) kullanılmalıdır. Yetkilendirme URL’ine code_challenge + code_challenge_method=S256 ekler, token değişiminde client_secret yerine code_verifier gönderirsiniz.
Tam akış, örnek kodlar ve güvenlik kontrol listesi için: PKCE Akışı.

Access token’ı kullanma

Token’ı aldıktan sonra her API isteğinde Authorization header’ı ile gönderin. Multi-tenant endpoint’lerde ayrıca X-Tenant header’ı da gerekir:
Detaylar için İstek Header’ları sayfasına bakın.