3. Ekstern applikasjon kaller Helsenorge API i systemkontekst
Innledning
Helsenorge benytter AksessToken fra HelseId for tilgang til API’ene på Helsenorge i maskin-til-maskin kontekst. Det betyr at API-klienter benytter HelseId selvbetjening for å be om tilgang til Helsenorge API’er. I HelseId er alle metoder i Helsenorge external-API definert med hvert sitt scope. Informasjon om hvordan aksesstoken skal legges ved i request til Helsenorge ekstern-API er beskrevet HER.
API-klienter som tidligere har benyttet Helsnorge STS direkte, skal gå over til å benytte HelseId. Dette er varslet og følges opp mot hver enkelt leverandør.
Vedrørende bruk av DPoP sikkerhetsmeknisme mot Helsenoreg API’ene:
Det valideres at sikkerhetsmenismen i DPoP er benyttet korrekt.
Senere (koordinert med HelseId) vil det ikke lenger tillates bruk av bearer-token. Dette vil varsles separat.
Alle aktører bør benytte DPoP mot Helsenorge Ekstern-API så snart som mulig. Se HER om detaljer om DPoP, samt hvordan det valideres i Helsenorge Ekstern-API.
Lenker til informasjon om HelseID:
Løsningskomponenter og informasjonsflyt ved bruk av HelseId for tilgang til Helsenorge API’er
Sekvensen er som følger:
Når systemet trenger å benytte et API på Helsenorge gjør systemet et kall mot HelseId som API-klient i maskin-til-maskin kontekst
Leverandøren må ha registrert et Klient system i HelseId selvbetjening
Leverandøren må ha opprettet en klientkonfigurasjon (instans av klientsystemet) som har bedt om/fått tilgang til den aktuelle API-funksjon i Helsenorge Ekstern-API i HelseId selvbetjening
HelseId autentiserer API-klienten.
HelseID sjekker hvilke autorisasjoner den aktuelle API-klient har bedt om/fått, og gir ut et AccessToken som representerer disse rettighetene.
Systemet kaller et Helsenorge API-endepunkt og ber om tilgang til ressurs, AccessToken fra HelseId er med i forespørselen
Helsenorge API-tjeneste kontrollerer at de rettigheter som trengs er representert av AccessTokenet.
API-kall utføres og resultat returneres til systemet.
Alle API kall til Helsenorge krever at orgnr_parent er satt- og at dette tilhører helseaktøren som det gjøres kall til Helsenorge API på vegne av.
Informasjon om bruk av organisasjonsnummer er tilgjengelig på utviklerportal HelseID
Hvordan kalle et Helsenorge API (etter å ha fått AccessToken fra HelseId)
For detaljer om endepunkt for det enkelte API og deres kontrakt, henvises til beskrivelsen av det enkelte API. Accesstoken man har fått fra Sikkerhetstjenesten inkluderes i HTPP-headeren i tjenestekallene til API'ene.
API'ene på Helsenorge har følgende generelle URL: https://eksternapi.helsenorge.no/<[Løsningsområde]>/<Tjeneste>
Uten bruk av DPoP (midlertidig løsning)
Eks på bruk av AccessToken i API-kall:
curl -X POST \
-H "Content-Type: application/json" -H "Authorization: Bearer <access_token>"\
-d '{"<Key1>": "<Value1>", ...}' \
<URL til tjeneste>
Ved bruk av DPoP
Eks på bruk av AccessToken i API-kall:
curl -X POST \
-H "Content-Type: application/json" -H "Authorization: DPoP <dpop_token>"\
-d '{"<Key1>": "<Value1>", ...}' \
<URL til tjeneste>
Utgått levetid på AccessToken/DPoP-token
Dersom man benytter et AccessToken som hår gått ut på tid, vil man få HTTP-error respons: 403 Forbidden
Dersom dette skjer må det eksterne systemet hente et nytt AccessToken fra HelseId.