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:
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,emailvephonescope’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
okumaveyayazmarozeti koyar. - Erişim İzni Ver ve İptal Et düğmeleri.
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
KoduPOST 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.
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 adresi uyuşmuyor
Redirect adresi uyuşmuyor
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.state değeri uyuşmuyor
state değeri uyuşmuyor
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.Token alıyorum ama API 401 veya 403 dönüyor
Token alıyorum ama API 401 veya 403 dönüyor
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.