Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
Hitelesítés és OAuth
API kulcsok, OAuth 2.1 PKCE-vel (SMART on FHIR önálló indítás), OpenID Connect id_token, SMART v2 beteg hatókörök, token élettartamok és a beleegyezési életciklus.
Az Anpheros Platform háromféle hitelesítő adatot fogad el. Minden kérés pontosan egyet tartalmaz.
| Hitelesítő adat | Hasonló ehhez: | Ki | Lát |
|---|---|---|---|
| API kulcs | sk_test_… (sandbox) / sk_live_… (production) |
egy projekt szervere | azokat a pácienseket, amelyeket a projekt létrehozott (sandboxban, beleértve a 30 szintetikus páciens saját másolatát is) |
| OAuth hozzáférési token | at_… |
egy alkalmazás, amely egy hozzájárulás alapján jár el egy páciens nevében | csak azt a páciens, az engedélyezett SMART hatókörökön belül |
| Firebase ID token | JWT | egy fejlesztő a dashboardon, vagy egy páciens a "Kapcsolatok" menüben | saját szervezetei / saját rekordjai |
Küldje el Authorization: Bearer <credential>-ként (az API kulcsok X-Api-Key-ként is működnek).
API kulcsok
- A műszerfalon vagy a
POST /admin/projects/{id}/keys-en keresztül hozhatók létre; egyszer jelennek meg; SHA-256 hash-ként tárolódnak. - Hatókörök:
read,write. Egy kulcs soha nem lépi át a projekt környezetét (ask_test_nem érheti el a production adatokat és fordítva). - Kulcsonkénti sebességkorlát (alapértelmezett 600/perc) érvényesül platformszinten (megosztott tároló), 429-es hibával
Retry-After. IP-címenkénti korlát is van, 600/perc. - Opcionális fejléc a írási műveleteknél:
X-Anpheros-Author-Type,X-Anpheros-Author-Ref,X-Anpheros-Source-System,X-Anpheros-Origin-Id,X-Anpheros-Acting-As(egy Practitioner/PractitionerRole saját címtárából),X-Anpheros-On-Behalf-Of(egy Organization saját címtárából). Ezek feltöltik a Provenance mezőt.
OAuth 2.1 (SMART on FHIR, standalone launch)
Discovery: GET /.well-known/smart-configuration.
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]Megjeleníti a tárolt hozzájárulási oldalt. A PKCE S256 kötelező; aredirect_uripontosan regisztrálva kell legyen.- A páciens bejelentkezik (Google vagy e-mail a Firebase-en keresztül), kiválasztja a rekordot (saját vagy függőét), az időtartamot (30/90/180/365 nap) és engedélyezi. A platform egy egyszer használatos kódot ad ki (10 perc).
POST /oauth/tokenagrant_type=authorization_code&code=…&code_verifier=…&redirect_uri=…&client_id=…-vel (a bizalmas kliensek hozzáadják aclient_secret-t). Válasz:access_token(30 perc),refresh_token(30 nap, forgó),patient(az Ön páronkénti azonosítója a rekordhoz),grant_id,scope.- Frissítés:
grant_type=refresh_token. Minden frissítési token egyszer használatos. Egy használt frissítési token bemutatása visszavonja az egész láncot (lopásérzékelés). Egy frissítési kérelem párhuzamos másolata elutasításra kerül, és szintén visszavonhatja a láncot, ezért soha ne forgasson párhuzamosan. - Visszavonás:
POST /oauth/revoke(token + client_id). A frissítési token visszavonása visszavonja a hozzáférési tokenjeit is.
A token válaszok Cache-Control: no-store-et és Pragma: no-cache-t tartalmaznak, ahogy a SMART előírja.
OpenID Connect (openid fhirUser)
Kérjen openid fhirUser-et a páciens scope-ok mellett, és a token válasz tartalmaz egy id_token-t is: egy RS256-tal aláírt JWT, amely tartalmazza a iss-t (a platform alap URL-je), sub-t (az Ön páronkénti azonosítója a személyhez), aud-t (az Ön client_id-e), exp-t, iat-t és fhirUser-t — a személy Patient erőforrásának abszolút URL-jét, amely a frissen kapott hozzáférési tokennel olvasható. A discovery a GET /.well-known/openid-configuration címen érhető el; a nyilvános kulcsok a GET /oauth/jwks címen (a token fejlécében kid). A nonce paraméter még nem támogatott (az engedélyezési kódot tartalmazó folyamatban opcionális). A launch/patient és offline_access elfogadott; a token válasz patient mezője a launch context.
Más grant típusok: client_credentials (bizalmas kliensek; API kulcsként viselkedik), és az első féltől származó identitás grant (csak megbízható kliensek).
Az Ön márkája a hozzájárulási oldalon
Egy alkalmazás megjelenítheti a logóját és a kiemelt színét a tárolt hozzájárulási oldalon. Állítsa be ezeket a konzolban (Alkalmazások → Márka) vagy az admin API-val:
PUT /admin/applications/{application_id}/branding
{"logo": "data:image/png;base64,…", "brand_color": "#1D4ED8"}
- Logo: PNG, JPEG vagy WebP kép adat URI-ként, legfeljebb 64 KB. A tartalom ellenőrzésre kerül, nem a deklarált típus; az SVG nem elfogadott. A kép az alkalmazással együtt tárolódik, és beágyazódik az oldalba, így a hozzájárulási oldal nem kezdeményez kérést az Ön szerverei felé.
- Kiemelt szín:
#RRGGBB, az elsődleges gombhoz használatos. A rajta lévő fehér szövegnek legalább 4,5:1 kontrasztot kell tartania (WCAG AA); a világosabb színek elutasításra kerülnek. - Egy mező, amelyet Ön kihagy, változatlan marad; a
nullvagy egy üres sztring eltávolítja azt.
A többi rész az oldalon nem változik: a "Secured by Anpheros Platform" sor, a mit az alkalmazás kér, egyszerű nyelven felsorolva, és a TEST banner a sandbox projekteken marad, így az emberek mindig tudhatják, hogy a hozzájárulást az Anpheros kezeli. Az AI csatlakozók (MCP) mindig az Anpheros oldalt jelenítik meg alkalmazás márka nélkül.
Scopes
SMART v2 páciens scope-ok: patient/<Type>.<cruds> opcionális ?category=<code> szűrővel (az egyetlen szűrő, amelyet a szerver érvényesít; bármely más szűrő elutasításra kerül az engedélyezéskor). A patient/*.rs mindent olvas; a offline_access frissítési tokent ad hozzá. A páciens demográfiai adatok és a címtár mindig olvashatóak egy grant keretében. A granton kívüli erőforrás típus 403-at eredményez; a granton kívüli páciens 404-et.
Hozzájárulási életciklus
A hozzájárulások automatikusan lejárnak, a páciens bármikor visszavonhatja őket (Kapcsolatok képernyő / /me), és minden hozzájárulás alatti olvasás naplózásra kerül az alkalmazás azonosítójával. A Webhookok consent.granted / consent.revoked értesítik a projektet.
Hibák
401 unknown/expired credential · 403 the credential exists but may not do this · 404 the resource does not exist for you · 429 rate limited (Retry-After). Lásd: errors.md.
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card