AnpherosAnpheros PlatformDevelopers

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

ऑथेंटिकेशन और OAuth

API कीज़, PKCE के साथ OAuth 2.1 (SMART on FHIR स्टैंडअलोन लॉन्च), OpenID Connect id_token, SMART v2 पेशेंट स्कोप, टोकन लाइफटाइम और सहमति लाइफसाइकिल।

Anpheros Platform तीन प्रकार के क्रेडेंशियल्स स्वीकार करता है। प्रत्येक अनुरोध में ठीक एक होता है।

क्रेडेंशियल कैसा दिखता है कौन देखता है
API कुंजी sk_test_… (सैंडबॉक्स) / sk_live_… (उत्पादन) एक प्रोजेक्ट का सर्वर वे रोगी जिन्हें प्रोजेक्ट ने बनाया है (सैंडबॉक्स में, जिसमें 30 सिंथेटिक रोगियों की अपनी प्रतिलिपि भी शामिल है)
OAuth एक्सेस टोकन at_… सहमति के तहत एक रोगी के लिए कार्य करने वाला एक एप्लिकेशन केवल वह रोगी, प्रदान किए गए SMART स्कोप के भीतर
Firebase ID टोकन JWT डैशबोर्ड में एक डेवलपर, या "कनेक्शन" में एक रोगी उनके अपने संगठन / उनके अपने रिकॉर्ड

इसे Authorization: Bearer <credential> के रूप में भेजें (API कुंजियाँ X-Api-Key के रूप में भी काम करती हैं)।

एपीआई कुंजियाँ (API Keys)

OAuth 2.1 (SMART on FHIR, standalone launch)

Discovery: 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] होस्टेड सहमति पृष्ठ दिखाता है। PKCE S256 अनिवार्य है; redirect_uri को बिल्कुल पंजीकृत होना चाहिए।
  2. रोगी साइन इन करता है (Firebase के माध्यम से Google या ईमेल), रिकॉर्ड (अपना या आश्रित का) चुनता है, अवधि (30/90/180/365 दिन) और अनुमति देता है। प्लेटफ़ॉर्म एक बार का कोड जारी करता है (10 मिनट)।
  3. POST /oauth/token के साथ grant_type=authorization_code&code=…&code_verifier=…&redirect_uri=…&client_id=… (गोपनीय क्लाइंट client_secret जोड़ते हैं)। प्रतिक्रिया: access_token (30 मिनट), refresh_token (30 दिन, रोटेटिंग), patient (रिकॉर्ड के लिए आपका जोड़ीदार आईडी), grant_id, scope।
  4. रीफ़्रेश: grant_type=refresh_token। प्रत्येक रीफ़्रेश टोकन एकल-उपयोग है। उपयोग किए गए रीफ़्रेश टोकन को प्रस्तुत करने से पूरी श्रृंखला रद्द हो जाती है (चोरी का पता लगाना)। रीफ़्रेश अनुरोध की एक समानांतर डुप्लिकेट को अस्वीकार कर दिया जाता है और यह श्रृंखला को भी रद्द कर सकता है, इसलिए समवर्ती रूप से कभी भी रोटेट न करें।
  5. रद्द करें: POST /oauth/revoke (टोकन + client_id)। रीफ़्रेश टोकन को रद्द करने से उसके एक्सेस टोकन भी रद्द हो जाते हैं।

टोकन प्रतिक्रियाओं में Cache-Control: no-store और Pragma: no-cache होते हैं, जैसा कि SMART की आवश्यकता है।

OpenID Connect (openid fhirUser)

रोगी स्कोप के साथ openid fhirUser के लिए पूछें और टोकन प्रतिक्रिया में एक id_token भी शामिल होता है: RS256 के साथ हस्ताक्षरित एक JWT, जिसमें iss (प्लेटफ़ॉर्म का बेस URL), sub (व्यक्ति के लिए आपका जोड़ीदार आईडी), aud (आपका client_id), exp, iat और fhirUser — व्यक्ति के Patient संसाधन का पूर्ण URL, जिसे आपके द्वारा अभी प्राप्त एक्सेस टोकन से पढ़ा जा सकता है। Discovery GET /.well-known/openid-configuration पर है; सार्वजनिक कुंजियाँ GET /oauth/jwks पर हैं (टोकन हेडर में kid)। nonce पैरामीटर अभी समर्थित नहीं है (यह प्राधिकरण-कोड प्रवाह में वैकल्पिक है)। launch/patient और offline_access स्वीकार किए जाते हैं; टोकन प्रतिक्रिया का patient फ़ील्ड लॉन्च संदर्भ है।

अन्य अनुदान प्रकार: client_credentials (गोपनीय क्लाइंट; API कुंजी की तरह व्यवहार करता है), और प्रथम-पक्ष पहचान अनुदान (केवल विश्वसनीय क्लाइंट)।

आपकी ब्रांडिंग सहमति पृष्ठ पर

एक एप्लिकेशन होस्टेड सहमति पृष्ठ पर अपना लोगो और एक्सेंट रंग दिखा सकता है। उन्हें कंसोल में सेट करें (एप्लिकेशन → ब्रांड) या एडमिन API के साथ:

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

पृष्ठ का बाकी हिस्सा नहीं बदलता है: "Secured by Anpheros Platform" लाइन, एप्लिकेशन जो मांग रहा है उसकी सादे भाषा की सूची, और सैंडबॉक्स परियोजनाओं पर TEST बैनर बने रहते हैं, ताकि लोग हमेशा बता सकें कि सहमति Anpheros द्वारा रखी गई है। AI कनेक्टर (MCP) हमेशा एप्लिकेशन ब्रांडिंग के बिना Anpheros पृष्ठ दिखाते हैं।

स्कोप

SMART v2 रोगी स्कोप: patient/<Type>.<cruds> एक वैकल्पिक ?category=<code> फ़िल्टर के साथ (एकमात्र फ़िल्टर जिसे सर्वर लागू करता है; प्राधिकरण समय पर किसी भी अन्य फ़िल्टर को अस्वीकार कर दिया जाता है)। patient/*.rs सब कुछ पढ़ता है; offline_access एक रीफ़्रेश टोकन जोड़ता है। रोगी जनसांख्यिकी और निर्देशिका हमेशा अनुदान के तहत पठनीय होती हैं। अनुदान के बाहर एक संसाधन प्रकार 403 लौटाता है; अनुदान के बाहर एक रोगी 404 लौटाता है।

सहमति जीवनचक्र

सहमति स्वचालित रूप से समाप्त हो जाती है, रोगी द्वारा किसी भी समय रद्द की जा सकती है (कनेक्शन स्क्रीन / /me), और एक सहमति के तहत हर रीड को एप्लिकेशन आईडी के साथ लॉग किया जाता है। Webhooks consent.granted / consent.revoked प्रोजेक्ट को सूचित करते हैं।

त्रुटियाँ

401 अज्ञात/समाप्त क्रेडेंशियल · 403 क्रेडेंशियल मौजूद है लेकिन यह कार्य नहीं कर सकता · 404 संसाधन आपके लिए मौजूद नहीं है · 429 दर सीमित (Retry-After)। errors.md देखें।

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