Skip to main content
Flextell API, OAuth 2.0 Authorization Code akışını kullanır. Kısaca: kullanıcı sizi yetkilendirir, siz code’u alırsınız, code’u access_token ile değişirsiniz ve token’ı her istekte Authorization: Bearer header’ı olarak gönderirsiniz.

Neden OAuth 2.0?

Flextell kliniklere ait hassas sağlık verileri barındırır. Kullanıcıdan parolasını almak yerine OAuth, kullanıcının yalnızca uygulamanızın ihtiyaç duyduğu izinler (scope) için yetki vermesine izin verir. Parolası hiçbir zaman sizin sisteminize uğramaz ve kullanıcı istediği zaman yetkiyi iptal edebilir.

Akış diyagramı

Temel terimler

Client ID & Client Secret. Flextell panelinde oluşturduğunuz OAuth uygulamasının kimliği ve gizli anahtarı. client_secret yalnızca güvenli (server-side) bir ortamda saklanmalıdır. Authorization Code. Kullanıcı yetki verdikten sonra redirect_uri’ye eklenen kısa ömürlü kod. Yalnızca bir kez, access token’a değiştirilmek için kullanılır. Access Token. API isteklerinde Authorization: Bearer <token> olarak gönderdiğiniz JWT. Flextell’de access token’lar 15 gün geçerlidir. Refresh Token. Access token süresi dolduğunda yenisini almak için kullanılır. Flextell’de refresh token’lar 30 gün geçerlidir. Detay: Token Yenileme. Scope. Uygulamanıza verilen izinler (ör. customers:read, appointments:write). Access token yalnızca onaylanmış scope’lar için çalışır. Tam liste: Scopes. State. CSRF koruması için yetkilendirme isteğine eklediğiniz rastgele string. Callback’e aynı değerle geri döner; eşleşmezse isteği reddetmelisiniz.

Desteklenen grant’lar

authorization_code
grant
Son kullanıcı adına istek atmak için standart akış. Tüm web/mobil uygulamalar için tercih edilen yöntemdir. SPA ve native mobil için PKCE uzantısı ile birlikte kullanın.
refresh_token
grant
Access token’ı yenilemek için. offline_access scope’u gerekmez; refresh token tokenle birlikte otomatik döner.
client_credentials ve password grant’ları şu anda desteklenmemektedir. Sunucu-sunucu entegrasyonları için de Authorization Code akışını, ilgili klinik kullanıcısı adına bir kez tamamlayıp refresh token saklamanızı öneririz.

OpenID Connect (kimlik doğrulama)

Flextell’i bir kimlik sağlayıcı olarak kullanmak — yani sadece API’ye erişim değil, “Sign in with Flextell” akışı kurmak — istiyorsanız scope parametresine openid ekleyin. Yanıta bir id_token eklenir ve /oauth/userinfo, /oauth/jwks, /.well-known/openid-configuration gibi OIDC uçlarını kullanabilirsiniz. Detay: OpenID Connect.

Logout (end_session_endpoint)

Kullanıcıyı uygulamanızdan ve Flextell oturumundan çıkarmak için OIDC RP-Initiated Logout akışını (/oauth/logout) kullanabilirsiniz. Detay: Token İptali.

Token ömürleri

Token türüSüre
Access token15 gün
Refresh token30 gün
Personal access token6 ay

Sonraki adımlar

Uygulama Oluşturma

Panelden OAuth uygulaması açın.

Authorization Code Akışı

code ↔ token değişiminin adım adım detayı.

OpenID Connect

id_token, discovery URL, userinfo.

PKCE

SPA ve mobil için güvenli code exchange.