Adım 1 — Kullanıcıyı yetkilendirmeye yönlendirin
Kullanıcıyı aşağıdaki URL’e yönlendirin. URL parametrelerini uygun şekilde doldurun vescope değerini boşluk ile ayırın.
Query parametreleri
Her zaman
code değerini gönderin.OAuth uygulamanızın
client_id değeri.Uygulamanızda kayıtlı
redirect_uri değerlerinden biriyle birebir eşleşmelidir. URL-encode edilmiş olarak gönderin.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.
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 onuredirect_uri’ye yönlendirir:
Adım 2 — code’u access token ile değişin
Sunucunuzdan token endpoint’ine birPOST 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
Her zaman
"Bearer".Access token’ın geçerlilik süresi, saniye cinsinden (
1296000 = 15 gün).API isteklerinde
Authorization: Bearer <token> olarak gönderin.30 gün içinde access token yenilemek için kullanın. Detay: Token Yenileme.
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ı
| HTTP | error | Sebep |
|---|---|---|
| 400 | invalid_request | Zorunlu parametre eksik veya geçersiz biçimde. |
| 400 | invalid_grant | code daha önce kullanılmış, süresi dolmuş veya farklı bir redirect_uri ile gönderilmiş. |
| 401 | invalid_client | client_id veya client_secret hatalı. |
| 400 | unsupported_grant_type | grant_type değeri desteklenmiyor. |
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.
Access token’ı kullanma
Token’ı aldıktan sonra her API isteğindeAuthorization header’ı ile gönderin. Multi-tenant endpoint’lerde ayrıca X-Tenant header’ı da gerekir: