AnpherosAnpheros PlatformDevelopers

Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card

Kimlik Doğrulama ve OAuth

API anahtarları, PKCE ile OAuth 2.1 (SMART on FHIR bağımsız başlatma), OpenID Connect id_token, SMART v2 hasta kapsamları, belirteç ömürleri ve onay yaşam döngüsü.

Anpheros Platform üç tür kimlik bilgisi kabul eder. Her istek tam olarak birini taşır.

Kimlik Bilgisi Görünümü Kim Görür
API anahtarı sk_test_… (sandbox) / sk_live_… (production) bir projenin sunucusu projenin oluşturduğu hastalar (sandbox'ta, kendi 30 sentetik hasta kopyası dahil)
OAuth erişim token'ı at_… bir onay kapsamında bir hasta adına hareket eden bir uygulama yalnızca o hasta, verilen SMART kapsamları dahilinde
Firebase ID token'ı JWT kontrol panelindeki bir geliştirici veya "Bağlantılar"daki bir hasta kendi kuruluşları / kendi kayıtları

Bunu Authorization: Bearer <credential> olarak gönderin (API anahtarları X-Api-Key olarak da çalışır).

API Anahtarları

OAuth 2.1 (SMART on FHIR, standalone launch)

Keşif: GET /.well-known/smart-configuration.

  1. GET /oauth/authorize?response_type=code&client_id=…&redirect_uri=…&scope=…&state=…&code_challenge=…&code_challenge_method=S256[&purpose=treatment][&patient=<pairwise id>][&lang=ro] Barındırılan onay sayfasını gösterir. PKCE S256 zorunludur; redirect_uri tam olarak kaydedilmelidir.
  2. Hasta oturum açar (Firebase aracılığıyla Google veya e-posta), kaydı seçer (kendisininki veya bir yakınınınki), süreyi (30/90/180/365 gün) ve izin verir. Platform tek kullanımlık bir kod (10 dakika) verir.
  3. POST /oauth/token ile grant_type=authorization_code&code=…&code_verifier=…&redirect_uri=…&client_id=… (gizli istemciler client_secret ekler). Yanıt: access_token (30 dakika), refresh_token (30 gün, döner), patient (kayıt için ikili kimliğiniz), grant_id, scope.
  4. Yenileme: grant_type=refresh_token. Her yenileme jetonu tek kullanımlıktır. Kullanılmış bir yenileme jetonu sunmak tüm zinciri geçersiz kılar (hırsızlık tespiti). Bir yenileme isteğinin paralel bir kopyası reddedilir ve zinciri geçersiz kılabilir, bu nedenle asla eşzamanlı olarak döndürmeyin.
  5. Geçersiz Kılma: POST /oauth/revoke (jeton + client_id). Bir yenileme jetonunu geçersiz kılmak, erişim jetonlarını da geçersiz kılar.

Jeton yanıtları, SMART'ın gerektirdiği şekilde Cache-Control: no-store ve Pragma: no-cache taşır.

OpenID Connect (openid fhirUser)

Hasta kapsamlarına ek olarak openid fhirUser isteyin ve jeton yanıtı ayrıca bir id_token içerir: RS256 ile imzalanmış bir JWT, iss (platformun temel URL'si), sub (kişi için ikili kimliğiniz), aud (client_id'unuz), exp, iat ve fhirUser — az önce aldığınız erişim jetonuyla okunabilen kişinin Hasta kaynağının mutlak URL'si. Keşif GET /.well-known/openid-configuration'te, genel anahtarlar GET /oauth/jwks'te (jeton başlığında kid) bulunur. nonce parametresi henüz desteklenmiyor (yetkilendirme kodu akışında isteğe bağlıdır). launch/patient ve offline_access kabul edilir; jeton yanıtının patient alanı başlatma bağlamıdır.

Diğer yetkilendirme türleri: client_credentials (gizli istemciler; API anahtarı gibi davranır) ve birinci taraf kimlik yetkilendirmesi (yalnızca güvenilir istemciler).

Onay sayfasında markanız

Bir uygulama, barındırılan onay sayfasında logosunu ve vurgu rengini gösterebilir. Bunları konsolda (Uygulamalar → Marka) veya yönetici API'si ile ayarlayın:

PUT /admin/applications/{application_id}/branding
{"logo": "data:image/png;base64,…", "brand_color": "#1D4ED8"}

Sayfanın geri kalanı değişmez: "Anpheros Platform Tarafından Güvenli" satırı, uygulamanın ne istediğinin düz dilde listesi ve sandbox projelerindeki TEST bildirimi kalır, böylece insanlar onayların Anpheros tarafından tutulduğunu her zaman anlayabilir. Yapay zeka bağlayıcıları (MCP) her zaman Anpheros sayfasını uygulama markası olmadan gösterir.

Kapsamlar

SMART v2 hasta kapsamları: isteğe bağlı ?category=<code> filtreli patient/<Type>.<cruds> (sunucunun zorunlu kıldığı tek filtre; başka herhangi bir filtre yetkilendirme zamanında reddedilir). patient/*.rs her şeyi okur; offline_access bir yenileme jetonu ekler. Hasta demografisi ve dizin, bir yetki kapsamında her zaman okunabilir. Yetki kapsamı dışındaki bir kaynak türü 403 döndürür; yetki kapsamı dışındaki bir hasta 404 döndürür.

Onay yaşam döngüsü

Onaylar otomatik olarak sona erer, herhangi bir zamanda hasta tarafından geçersiz kılınabilir (Bağlantılar ekranı / /me) ve bir onay kapsamındaki her okuma, uygulama kimliğiyle günlüğe kaydedilir. Webhook'lar consent.granted / consent.revoked projeyi bilgilendirir.

Hatalar

401 bilinmeyen/süresi dolmuş kimlik bilgisi · 403 kimlik bilgisi mevcut ancak bu işlemi yapamaz · 404 kaynak sizin için mevcut değil · 429 hız sınırlı (Retry-After). errors.md bölümüne bakın.

Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card

Product updates by email

New features, guides and the end of the beta. One email a month at most.

Send me occasional Anpheros Platform updates by email (new features, API changes, guides). I'll confirm by email and can unsubscribe in one click from any email. Privacy