Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card
Autentizácia a OAuth
API kľúče, OAuth 2.1 s PKCE (SMART on FHIR samostatné spustenie), OpenID Connect id_token, SMART v2 pacientske rozsahy, životnosť tokenov a životný cyklus súhlasu.
Anpheros Platform akceptuje tri druhy poverení. Každý požiadavka nesie presne jedno.
| Poverenie | Vyzerá ako | Kto | Vidí |
|---|---|---|---|
| API kľúč | sk_test_… (sandbox) / sk_live_… (production) |
server projektu | pacienti, ktorých projekt vytvoril (v sandboxe vrátane vlastnej kópie 30 syntetických pacientov) |
| OAuth access token | at_… |
aplikácia konajúca v mene jedného pacienta na základe súhlasu | iba tohto pacienta, v rámci udelených SMART scopes |
| Firebase ID token | JWT | vývojár v dashboarde, alebo pacient v sekcii "Connections" | svoje vlastné organizácie / svoje vlastné záznamy |
Pošlite ho ako Authorization: Bearer <credential> (API kľúče fungujú aj ako X-Api-Key).
API kľúče
- Vytvorené v dashboarde alebo cez
POST /admin/projects/{id}/keys; zobrazené raz; uložené ako SHA-256 hash. - Scopes:
read,write. Kľúč nikdy neprekročí prostredie svojho projektu (sk_test_sa nedostane k produkčným dátam a naopak). - Limit na počet požiadaviek na kľúč (predvolené 600/min) je vynucovaný celoplošne (shared store), s
Retry-Afterna 429. Existuje aj limit na IP adresu 600/min. - Voliteľné hlavičky pri zápise:
X-Anpheros-Author-Type,X-Anpheros-Author-Ref,X-Anpheros-Source-System,X-Anpheros-Origin-Id,X-Anpheros-Acting-As(Practitioner/PractitionerRole z vášho vlastného adresára),X-Anpheros-On-Behalf-Of(Organization z vášho vlastného adresára). Tieto hlavičky vypĺňajú Provenance.
OAuth 2.1 (SMART on FHIR, samostatné spustenie)
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]Zobrazuje hosťovanú stránku súhlasu. PKCE S256 je povinné;redirect_urimusí byť presne zaregistrované.- Pacient sa prihlási (Google alebo e-mail cez Firebase), vyberie záznam (svoj alebo závislej osoby), trvanie (30/90/180/365 dní) a povolí. Platforma vydá jednorazový kód (10 minút).
POST /oauth/tokensgrant_type=authorization_code&code=…&code_verifier=…&redirect_uri=…&client_id=…(dôverné klienty pridajúclient_secret). Odpoveď:access_token(30 min),refresh_token(30 dní, rotujúce),patient(vaše párové ID pre záznam),grant_id,scope.- Obnovenie:
grant_type=refresh_token. Každý obnovovací token je jednorazový. Predloženie použitého obnovovacieho tokenu zruší celý reťazec (detekcia krádeže). Paralelné duplikovanie žiadosti o obnovenie je odmietnuté a môže tiež zrušiť reťazec, preto nikdy nerotujte súčasne. - Zrušenie:
POST /oauth/revoke(token + client_id). Zrušenie obnovovacieho tokenu tiež zruší jeho prístupové tokeny.
Odpovede tokenov nesú Cache-Control: no-store a Pragma: no-cache, ako vyžaduje SMART.
OpenID Connect (openid fhirUser)
Požiadajte o openid fhirUser spolu s oblasťami pacienta a odpoveď tokenu bude tiež obsahovať id_token: JWT podpísané s RS256, s iss (základná URL platformy), sub (vaše párové ID pre osobu), aud (vaše client_id), exp, iat a fhirUser — absolútna URL zdroja Pacienta osoby, čitateľná s prístupovým tokenom, ktorý ste práve dostali. Discovery sa nachádza na GET /.well-known/openid-configuration; verejné kľúče na GET /oauth/jwks (kid v hlavičke tokenu). Parameter nonce ešte nie je podporovaný (je voliteľný v toku autorizačného kódu). launch/patient a offline_access sú akceptované; pole patient v odpovedi tokenu je kontext spustenia.
Iné typy grantov: client_credentials (dôverné klienty; funguje ako API kľúč) a grant identity prvej strany (iba dôveryhodné klienty).
Vaša značka na stránke súhlasu
Aplikácia môže na hosťovanej stránke súhlasu zobraziť svoje logo a akcentovú farbu. Nastavte ich v konzole (Aplikácie → Značka) alebo pomocou admin API:
PUT /admin/applications/{application_id}/branding
{"logo": "data:image/png;base64,…", "brand_color": "#1D4ED8"}
- Logo: obrázok PNG, JPEG alebo WebP ako dátový URI, do 64 KB. Kontroluje sa obsah, nie deklarovaný typ; SVG nie je akceptovaný. Obrázok sa uloží s aplikáciou a vloží na stránku, takže stránka súhlasu nevykonáva žiadne požiadavky na vaše servery.
- Akcentová farba:
#RRGGBB, používa sa pre hlavné tlačidlo. Biely text na nej musí zachovať kontrast najmenej 4,5:1 (WCAG AA); svetlejšie farby sú odmietnuté. - Pole, ktoré vynecháte, zostane tak, ako je;
nullalebo prázdny reťazec ho odstráni.
Zvyšok stránky sa nemení: riadok "Zabezpečené platformou Anpheros", zoznam v bežnom jazyku toho, čo aplikácia žiada, a TEST banner na sandbox projektoch zostávajú, takže ľudia vždy vedia, že súhlas spravuje Anpheros. AI konektory (MCP) vždy zobrazujú stránku Anpheros bez značky aplikácie.
Oblasti (Scopes)
SMART v2 oblasti pacienta: patient/<Type>.<cruds> s voliteľným filtrom ?category=<code> (jediný filter, ktorý server vynucuje; akýkoľvek iný filter je odmietnutý v čase autorizácie). patient/*.rs číta všetko; offline_access pridáva obnovovací token. Demografické údaje pacienta a adresár sú vždy čitateľné pod grantom. Typ zdroja mimo grantu vráti 403; pacient mimo grantu vráti 404.
Životný cyklus súhlasu
Súhlasy automaticky vypršia, pacient ich môže kedykoľvek odvolať (obrazovka Pripojenia / /me) a každé čítanie pod súhlasom je zaznamenané s ID aplikácie. Webhooky consent.granted / consent.revoked informujú projekt.
Chyby
401 neznámy/expirujúci poverovací údaj · 403 poverovací údaj existuje, ale nemusí to umožňovať · 404 zdroj neexistuje pre vás · 429 obmedzený počet požiadaviek (Retry-After). Pozri errors.md.
Try it free in the sandbox · first FHIR call in 5 minutesFree · 30 synthetic patients · no card