3. Ekstern applikasjon kaller Helsenorge API i systemkontekst
Innledning
Tidligere måtte API-klienter, i system-til-system kontekst, autentisere seg mot Helsenorge sin egen Oauth2 tjeneste (Helsenorge STS). Videre var det dennes /Token endepunkt som måtte kontaktes for å få AksessToken som gir tilgang til API’ene på Helsenorge.
Det er nå implementert en løsning på Helsenorge der det støttes AksessToken fra HelseId for tilgang til API’ene på Helsenorge i maskin-til-maksin kontekst.
Dette betyr at:
Alle nye API-klienter skal benytte HelseId selvbetjening for å be om tilgang til de Helsenorge API’er som opererer i maskin-til-maskin kontekst. I HelseId er alle metoder i Helsenorge external-API definert med hvert sitt scope. . (Se HER for hvordan aksesstoken skal legges ved i request til Helsenorge ekstern-API).
Alle eksisterende API-klienter som tidligere har benyttet Helsnorge STS direkte, skal gå over til å benytte HelseId.
Vedrørende bruk av DPoP sikkerhetsmeknisme mot Helsenoreg API’ene:
I første versjon av støttes ikke DPoP mot Helsenorge API’ene. Det må da i en periode benyttes vanlig bearer-token.
Fra og med Release 25.05 (prodsettes 7. mai 2025), kan aktører også benytte DPoP token. Men, i denne releasen validere vi ikke at sikkerhetsmekanismen i DPoP er oppfylt.
Fra og med Release 25.07 (prodsettes 18. juni 2025) vil 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 Ekstren-API så snart som mulig etter 7. mai 2025. Se HER om detaljer om DPoP, samt hvordan det valideres i Helsenorge Ekstren-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 eller i PVK, gjør systemet et kall mot HelseId som API-klient i maskin-til-maksin 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 AcsessToken som representerer disse rettighetene.
Systemet kaller et Helsenorge API-endepunkt og ber om tilgang til ressurs, AcsessToken fra HelseId er med i requesten
Helsenorge API-tjeneste kontrollerer at de rettigheter som trengs er representert av AcsessTokenet.
API-kall utføres og resultat returneres til systemet.
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 gjennomføre en ny Autentisering mot sikkerhetstjenesten og få nytt AccessToken (Det støttes med andre ord ikke såkalte RefreshTokens).