Skip to main content
Flextell API’sine bir kullanıcı adına erişmenin yolu yetkilendirme kodu akışıdır. Uygulamanız kullanıcıyı Flextell’in giriş ve onay ekranına gönderir, geri dönen tek kullanımlık kodu access_token ile değiştirir. Bu sayfa akışı PKCE ile birlikte, istek istek anlatır. Başlamadan önce bir uygulamanız ve kayıtlı bir redirect_uri değeriniz olmalı. Bunun için Uygulama oluşturma sayfasına bakın. Örneklerde üretim adresleri kullanılır; sandbox için Ortamlar sayfasındaki adresleri kullanın.

Akışa genel bakış

Akışta üç taraf vardır: kullanıcının tarayıcısı, sizin uygulamanız ve Flextell kimlik sunucusu (https://id.flextell.ai). Kimlik sunucusunun adreslerini https://id.flextell.ai/.well-known/openid-configuration adresinden de okuyabilirsiniz. Ayrıntı için OpenID Connect sayfasına bakın.

PKCE değerlerini üretme

PKCE (Proof Key for Code Exchange), kodu ele geçiren bir üçüncü tarafın kodu kullanmasını engeller. Her yetkilendirme isteği için yeni bir çift üretin. Aşağıdaki komutlar bir çift üretir:
code_verifier değerini kullanıcının tarayıcısına veya URL’ye koymayın. Token isteğine kadar yalnızca uygulamanızın oturumunda saklayın. Genel (public) istemciler code_challenge göndermek zorundadır; göndermezse istek invalid_request ile reddedilir.

Yetkilendirme isteği

Kullanıcının tarayıcısını şu adrese yönlendirin:
prompt değerleri şöyle çalışır:
Scope göndermezseniz token hiçbir scope taşımaz. Her scope, uygulamanız için tanımlı olmalıdır. İzin verilmeyen bir scope isterseniz kullanıcı hiçbir ekran görmeden error=invalid_scope ile redirect_uri adresine döner.

Onay ekranı

Kullanıcının Flextell oturumu yoksa önce Giriş Yap ekranı açılır. Hesapta iki adımlı doğrulama etkinse İki Adımlı Doğrulama ekranı da gelir. Giriş tamamlanınca kullanıcı otomatik olarak yetkilendirme isteğine döner; sizin bir şey yapmanız gerekmez. Ardından Yetkilendirme ekranı açılır. Ekran şunları gösterir:
  • Uygulamanızın adı ve “sizin adınıza aşağıdaki izinlere erişmek istiyor.” metni.
  • Kimlik bilgilerinize erişim bölümü: profile, email ve phone scope’larını Profil bilgileri, E-posta adresi ve Telefon numarası olarak listeler.
  • İstenen yetkiler bölümü: uygulama scope’larını kaynağa göre gruplar ve her birine okuma veya yazma rozeti koyar.
  • Erişim İzni Ver ve İptal Et düğmeleri.
Kullanıcı Erişim İzni Ver’e tıklarsa tarayıcı redirect_uri?code=...&state=... adresine döner. İptal Et’e tıklarsa redirect_uri?state=...&error=access_denied adresine döner. Onay ekranı her seferinde gösterilmez. Kullanıcının bu uygulama için, istenen scope’ları kapsayan geçerli bir token’ı varsa ekran atlanır. Flextell’in kendi uygulamaları için de ekran gösterilmez. prompt=consent ile ekranı zorlayabilirsiniz.
Dönen code 10 dakika geçerlidir ve yalnızca bir kez kullanılabilir. Aynı kodu ikinci kez gönderirseniz invalid_grant hatası alırsınız.

Kodu token ile değiştirme

Kodu POST https://id.flextell.ai/oauth/token adresine gönderin. İstek application/x-www-form-urlencoded biçimindedir; JSON gövde de kabul edilir.
Accept: application/json başlığını her zaman ekleyin; hatalar HTML yerine JSON döner. Başarılı yanıt:
Token’ı API’de Authorization: Bearer <access_token> başlığıyla kullanın. Klinik verisi isteyen uç noktalar X-Tenant başlığı da ister; bkz. Klinikler ve X-Tenant. Token yenileme, ömürleri ve saklama için Token’lar sayfasına bakın.
Token isteği kimlik sunucusunda IP başına dakikada 60 istekle sınırlıdır. Yenileme isteklerini her API çağrısında değil, token süresi dolmadan önce bir kez yapın.

Sık yapılan hatalar

Hatalar {"error": "...", "error_description": "...", "hint": "..."} biçiminde JSON döner. Yetkilendirme isteğinde redirect_uri geçerliyse aynı alanlar yönlendirme adresinin sorgu dizesinde gelir. Tüm kodlar için Kimlik doğrulama hataları sayfasına bakın.
redirect_uri, uygulamada kayıtlı bir adresle birebir aynı olmalıdır; sondaki /, http ile https farkı ve sorgu dizesi de önemlidir. Kayıtlı adres yoksa istek invalid_client ile reddedilir ve kullanıcı yönlendirilmez. Token isteğinde de aynı adresi göndermelisiniz.
Callback’teki state, yetkilendirme isteğinde gönderdiğinizle aynı değilse kodu kullanmayın. Bu, isteğin sizin başlattığınız akıştan gelmediği anlamına gelir.
401 token’ın süresinin dolduğunu ya da iptal edildiğini gösterir; refresh token ile yenileyin. 403 ve Invalid scope(s) provided. yanıtı, token’da gereken scope’un olmadığını gösterir; scope’u ekleyip kullanıcıyı yeniden yetkilendirin. Klinik uç noktalarında X-Tenant başlığını unutmayın.

İlgili sayfalar

Uygulama oluşturma

Client ID, secret ve redirect adreslerini tanımlayın.

Token'lar

Token ömürleri, yenileme ve iptal.

Scope'lar

İsteyebileceğiniz scope’lar ve gerektirdiği izinler.

Hatalar

Kimlik doğrulama hata kodlarının tam listesi.