Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Table of Contents

...

Autorisasjon og aksesstoken

Alle API’er krever at klienten på forhånd har autentisert seg mot vår Sikkerhetstjeneste og fått utstedt et aksesstoken som skal være med i tjenestekallene til det enkelte API. Tjenesten beskrevet her krever ikke at kallet utføres i context av en innlogget bruker dvs. at det benyttes UseCase 1 (system-til-system) beskrevet herTo metoder for tilgang er tilgjengelige:

  1. HelseId sin autoriseringstjeneste for maskin-til-maskin kan benyttes:

    1. Velg Helsenorge Ekstern API i HelseId sin selvbetjeningsløsning

    2. Velg deretter scope “Fullmaktinformasjon_les”

    3. Når tilgangen er godkjent av Helsenorge, kan aksesstoken hentes ut fra HelseId, dette kan så benyttes i tjenestekallet mot API’et

  2. API-klienten kan autentisere seg mot Helsenorge Sikkerhetstjeneste.

    1. API-klienten må forhåndskonfigureres på Helsenorge, med sin public key

    2. Deretter kan API-klienten få utsedt et AksessToken fra Helsenorge STS. Fullmaktinformasjon API-et skal benyttes i system-til-system kontekst: 01 - System til System - V2

    3. Aksesstoken benyttes så i tjenestekallet mot API’et.

AksessToken som mottas fra sikkerhetstjenesten HelseId eller Helsenorge STS skal deretter være med i Authorization header i alle HTTP-requestene. Se: https://helsenorge.atlassian.net/wiki/spaces/HELSENORGE/pages/23789578/02+-+Kall+til+Helsenorge+og+PVK+API+er+og+bruk+av+AccessToken

...

Navn

Type

Lovlige verdier

Kommentar

fullmaktReferanseId

Guid

Referanse mottatt i tidligere respons

Denne er en unik referanse til et bestemt fullmaktsforhold

Request eks:

{
  "fullmaktReferanseId":"76daf7a1-3005-ea11-831a-000d3a29f858"
}

Responsparametre

Dette er et JWT signert av Helsenorge personverntjenester.

Respons eks:

{
   "jwt": "<token>"
}

Format

encodeBase64(json-header) + '.' + encodeBase64(json-payload) + '.' + encodeBase64(signature)

...

Kort claimnavn

Fullt claimnavn

Beskrivelse

alg

Algorithm

Hvilken algoritme som benyttes. Vil være "RS256" dvs. RSA-SHA256

kid

Key ID

Thumbprint av public sertifikat tilhørende privat nøkkel som ble benyttet til å generere token

typ

Type

Type token det er, vil alltid være "JWT"

x5c

X.509 certificate chain

Public X.509 sertifikat tilhørende den private nøkkelen som ble benyttet for å signerer tokenet (se https://tools.ietf.org/html/rfc7515)

Eks:

{
"alg": "RS256",
"kid": "046B8AC1B02F94E943A8137CF52EA3F4D7C78429",
"typ": "JWT",
"x5c": [
“MIIE/DCCA+SgAwIBAgILAXj3aSwrszNYDaIwDQYJKoZIhvcNAQELBQAwUTELMAkGA1UEBhMCTk8xHTAbBgNVBAoMFEJ1eXBhc3MgQVMtOTgzMTYzMzI3MSMwIQYDVQQDDBpCdXlwYXNzIENsYXNzIDMgVGVzdDQgQ0EgMzAeFw0xODAxMjMwNzQ4MDVaFw0yMTAxMjMyMjU5MDBaMGIxCzAJBgNVBAYTAk5PMSEwHwYDVQQKDBhESVJFS1RPUkFURVQgRk9SIEUtSEVMU0UxHDAaBgNVBAMME1BFUlNPTlZFUk5USkVORVNURVIxEjAQBgNVBAUTCTkxNTkzMzE0OTCCASIwDQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBALEJZUfJTuVYi5U1mAMgrxvNiLrSiGlC9Fi87bpYnYC5TMndpZL67PtoDrWmtwI/bw7o5jvsbbJAgMuNBkabsBcrsRlPis0DBBUkoKA8QIEnjmhjHUEf3GN8nsDgTFBPupSGG2pUB+xTJ55Se5LSG5joWSy3fkMG4Rn9cTnRn2uYMsJ3W3h+G9799PuiBiLH65rTd99HlZfblKrd38270dYHOgjcvV0xjJ5BazUDLnlksDE6HUY1+ZnAR9ikmfsXKKMiMAwpMoTz8+D9jYU7QlNvEPGKYVm2NWPVZ1i6Ctj8/NSfyxsFPGDK7ZsmzpJOKi2Uj70ktbG+ZWyaOXw955sCAwEAAaOCAcIwggG+MAkGA1UdEwQCMAAwHwYDVR0jBBgwFoAUP671eAuSo3AgNV9a+vckoFIB8EEwHQYDVR0OBBYEFL272d5vrNjsC2c9QHcu9fF8fJ9JMA4GA1UdDwEB/wQEAwIGQDAWBgNVHSAEDzANMAsGCWCEQgEaAQADAjCBuwYDVR0fBIGzMIGwMDegNaAzhjFodHRwOi8vY3JsLnRlc3Q0LmJ1eXBhc3Mubm8vY3JsL0JQQ2xhc3MzVDRDQTMuY3JsMHWgc6Bxhm9sZGFwOi8vbGRhcC50ZXN0NC5idXlwYXNzLm5vL2RjPUJ1eXBhc3MsZGM9Tk8sQ049QnV5cGFzcyUyMENsYXNzJTIwMyUyMFRlc3Q0JTIwQ0ElMjAzP2NlcnRpZmljYXRlUmV2b2NhdGlvbkxpc3QwgYoGCCsGAQUFBwEBBH4wfDA7BggrBgEFBQcwAYYvaHR0cDovL29jc3AudGVzdDQuYnV5cGFzcy5uby9vY3NwL0JQQ2xhc3MzVDRDQTMwPQYIKwYBBQUHMAKGMWh0dHA6Ly9jcnQudGVzdDQuYnV5cGFzcy5uby9jcnQvQlBDbGFzczNUNENBMy5jZXIwDQYJKoZIhvcNAQELBQADggEBAGyiyoGeOq4gW87SR+Om9XPIXy2IeHvzIx2NDLO5l5fciz75F0Unio7AN/NJF3B7iTB6WrKfuf1FClYVZRWaKHR0PFON97OU0Dq35M7B/k3F+Z3/oNPaLoNGRLORybZ0lDu3qval7/LoTH685KnQCyiyQO7nOWQOiEtoRz7A3NwFvXPSiNNJfVKjtoMROtkEnYjeL2D/I6r5WJ8iHs4wVFx99PqqEJfBju6kG0FgcOQyGN/2GI7Bzugx7RZzgqfJPg3aGJWhbZ2f2hbUOU4vJjbOdjyv0fZkxiTfk2gCfHWleuVnDSS7WMSO/oNA5PufoufWQ5hs3G5ytnSILRdwIp0="
]
}

Payload

Kort claimnavn

Fullt navn for claim

Beskrivelse

jti

JWT-ID

En unik iditifier (GUID) for dette fullmaktsbeviset. (Det kan utstedes mange fullmaktsbevis basert på samme fullmakt (som også har sin unike identifikator)

aud

Audience

Angir fullmaktens virkeområde, dvs. hvor den kan benyttes

“helsenorge” - Fullmakten kan kun benyttes for digitale helsetjenester på Helsenorge

“helseogomsorg” - Fullmakten kan benyttes i hele Helse og Omsorgsektoren

“apotekogbandagist” - Fullmakten kan benyttes på apotek og bandagister

pvk_ref

PVK reference

GUID i PVK som entydig identifiserer dette fullmaktsforholdet. (Samme GUID som i request)

type

Fullmakt type

“ordinar”- Ordinær fullmakt

“tildelt” - Tildelt fullmakt (fullmaktsgiver er ikke samtykkekompetent)

sub

Subject

Fødselsnummer eller D-nummer til fullmaktgiver

sub_id_type

Type identifikator

Volven kodeverk 8116. Lovlige verdier:

“FNR” (Fødselsnummer)

“DNR” (D-nummer)

sub_birthdate

Subject Birthdate

Fødselsdato til fullmaktsgiver

Eks: "1956-07-12"

sub_given_name

Subject given name

Fornavn til fullmaktsgiver

sub_family_name

Subject family name

Etternavn til fullmaktsgiver

sub_middle_name

Subject middle name

Mellomnavn til fullmaktsgiver

act_sub

Actor subject

Fødselsnummer til fullmaktshaver

act_sub_id_type

Type identifikator

Volven kodeverk 8116. Lovlige verdier:

“FNR” (Fødselsnummer)

“DNR” (D-nummer)

act_birthdate

Actor Birthdate

Fødselsdato til fullmakhaver

Eks: "1986-07-10"

act_given_name

Actor given name

Fornavn til fullmaktshaver

act_family_name

Actor family name

Etternavn til fullmaktshaver

act_middle_name

Actor middle name

Mellomnavn til fullmaktshaver

act_scp

Actor scope

Omfanget av fullmakten. Dette er avtalte/definerte string-tokens som angir et eller flere omfang fullmakten kan ha (kan velges individuelt av innbygger, hvis flere). Disse verdiene defineres som del av fullmaktsdefinisjonen. verdier separert med “space” innefor strengen. Scopene er prefikset med verdien i “audience”.

freetext_instructions

Eventuelle fritekstinstruksjoner fra fillmaktsgiver

Er med dersom fullmakten tillater at innbygger som gir fullmakten har anledning til å gi begrensninger/instruksjoner i fritelst. Max 2048 tegn.

iss

Issuer

Hvem som har generert tokenet, vil alltid være "personvern.helsenorge.no"

nfb

Not Before

Tidspunktet for når tokenet er gyldig. Vil alltid ha samme verdi som tidspunktet det ble generert på

exp

Expiration Time

Tidspunktet for når tokenet utløper

iat

Issued At

Tidspunktet for når tokenet ble generert. Vil aldri være gyldig i mer enn 30 minutter

...


Eks: på fullt JWT-token (mangler noen av de nye claims som er beskrevet over):

{

“jwt”: “eyJhbGciOiJSUzI1NiIsImtpZCI6IjA0NkI4QUMxQjAyRjk0RTk0M0E4MTM3Q0Y1MkVBM0Y0RDdDNzg0MjkiLCJ0eXAiOiJKV1QiLCJ4NWMiOlsiTUlJRS9EQ0NBK1NnQXdJQkFnSUxBWGozYVN3cnN6TllEYUl3RFFZSktvWklodmNOQVFFTEJRQXdVVEVMTUFrR0ExVUVCaE1DVGs4eEhUQWJCZ05WQkFvTUZFSjFlWEJoYzNNZ1FWTXRPVGd6TVRZek16STNNU013SVFZRFZRUUREQnBDZFhsd1lYTnpJRU5zWVhOeklETWdWR1Z6ZERRZ1EwRWdNekFlRncweE9EQXhNak13TnpRNE1EVmFGdzB5TVRBeE1qTXlNalU1TURCYU1HSXhDekFKQmdOVkJBWVRBazVQTVNFd0h3WURWUVFLREJoRVNWSkZTMVJQVWtGVVJWUWdSazlTSUVVdFNFVk1VMFV4SERBYUJnTlZCQU1NRTFCRlVsTlBUbFpGVWs1VVNrVk9SVk5VUlZJeEVqQVFCZ05WQkFVVENUa3hOVGt6TXpFME9UQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUxFSlpVZkpUdVZZaTVVMW1BTWdyeHZOaUxyU2lHbEM5Rmk4N2JwWW5ZQzVUTW5kcFpMNjdQdG9EcldtdHdJL2J3N281anZzYmJKQWdNdU5Ca2Fic0JjcnNSbFBpczBEQkJVa29LQThRSUVuam1oakhVRWYzR044bnNEZ1RGQlB1cFNHRzJwVUIreFRKNTVTZTVMU0c1am9XU3kzZmtNRzRSbjljVG5SbjJ1WU1zSjNXM2grRzk3OTlQdWlCaUxINjVyVGQ5OUhsWmZibEtyZDM4MjcwZFlIT2dqY3ZWMHhqSjVCYXpVRExubGtzREU2SFVZMStabkFSOWlrbWZzWEtLTWlNQXdwTW9UejgrRDlqWVU3UWxOdkVQR0tZVm0yTldQVloxaTZDdGo4L05TZnl4c0ZQR0RLN1pzbXpwSk9LaTJVajcwa3RiRytaV3lhT1h3OTU1c0NBd0VBQWFPQ0FjSXdnZ0crTUFrR0ExVWRFd1FDTUFBd0h3WURWUjBqQkJnd0ZvQVVQNjcxZUF1U28zQWdOVjlhK3Zja29GSUI4RUV3SFFZRFZSME9CQllFRkwyNzJkNXZyTmpzQzJjOVFIY3U5ZkY4Zko5Sk1BNEdBMVVkRHdFQi93UUVBd0lHUURBV0JnTlZIU0FFRHpBTk1Bc0dDV0NFUWdFYUFRQURBakNCdXdZRFZSMGZCSUd6TUlHd01EZWdOYUF6aGpGb2RIUndPaTh2WTNKc0xuUmxjM1EwTG1KMWVYQmhjM011Ym04dlkzSnNMMEpRUTJ4aGMzTXpWRFJEUVRNdVkzSnNNSFdnYzZCeGhtOXNaR0Z3T2k4dmJHUmhjQzUwWlhOME5DNWlkWGx3WVhOekxtNXZMMlJqUFVKMWVYQmhjM01zWkdNOVRrOHNRMDQ5UW5WNWNHRnpjeVV5TUVOc1lYTnpKVEl3TXlVeU1GUmxjM1EwSlRJd1EwRWxNakF6UDJObGNuUnBabWxqWVhSbFVtVjJiMk5oZEdsdmJreHBjM1F3Z1lvR0NDc0dBUVVGQndFQkJINHdmREE3QmdnckJnRUZCUWN3QVlZdmFIUjBjRG92TDI5amMzQXVkR1Z6ZERRdVluVjVjR0Z6Y3k1dWJ5OXZZM053TDBKUVEyeGhjM016VkRSRFFUTXdQUVlJS3dZQkJRVUhNQUtHTVdoMGRIQTZMeTlqY25RdWRHVnpkRFF1WW5WNWNHRnpjeTV1Ynk5amNuUXZRbEJEYkdGemN6TlVORU5CTXk1alpYSXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBR3lpeW9HZU9xNGdXODdTUitPbTlYUElYeTJJZUh2ekl4Mk5ETE81bDVmY2l6NzVGMFVuaW83QU4vTkpGM0I3aVRCNldyS2Z1ZjFGQ2xZVlpSV2FLSFIwUEZPTjk3T1UwRHEzNU03Qi9rM0YrWjMvb05QYUxvTkdSTE9SeWJaMGxEdTNxdmFsNy9Mb1RINjg1S25RQ3lpeVFPN25PV1FPaUV0b1J6N0EzTndGdlhQU2lOTkpmVktqdG9NUk90a0VuWWplTDJEL0k2cjVXSjhpSHM0d1ZGeDk5UHFxRUpmQmp1NmtHMEZnY09ReUdOLzJHSTdCenVneDdSWnpncWZKUGczYUdKV2hiWjJmMmhiVU9VNHZKamJPZGp5djBmWmt4aVRmazJnQ2ZIV2xldVZuRFNTN1dNU08vb05BNVB1Zm91ZldRNWhzM0c1eXRuU0lMUmR3SXAwPSJdfQ.eyJqdGkiOiJkOGVmMTAzYi1kZjFmLTQ5NGQtODYyNS04ZTU0MzFjY2NiNDciLCJhdWQiOiJodHRwczovL2hlbHNlbm9yZ2Uubm8iLCJzdWIiOiIxMzA3NzIwNDc0NiIsInB2a19yZWYiOiI3NmRhZjdhMS0zMDA1LWVhMTEtODMxYS0wMDBkM2EyOWY4NTgiLCJhY3Rfc3ViIjoiMDcxMTg2MDAyOTUiLCJhY3RfdHlwIjoiZnVsbG1ha3QiLCJhY3Rfc2NwIjoiaG4ubm8ucmVnaXN0ZXJpbm5zeW4gaG4ubm8uam91cm5hbGlubnN5biBobi5uby5kaWdpdGFsZXRqZW5lc3RlciIsImlzcyI6InBlcnNvbnZlcm4uaGVsc2Vub3JnZS5ubyIsIm5iZiI6MTU3NDE1MDk3OCwiZXhwIjoxNTc0MTUyNzc4LCJpYXQiOjE1NzQxNTA5Nzh9.fejVgmjNubQJ7GozeMiD9AyvSCeH79hAr62TLLzc_q6pvuTrPSMrdIX6vnilwl2pTrWfwOgPMgL8o31L0XTHsAoydHpvpm5q8AVs68Nmf8G8z7HtbPhe2k6vy34QC5z2cqHCopLD6wUPeRAZNDm6bBDZqsVntT5mkKQKvRcWGny93aMY5JwN19rLDSTjjzjXZhRTurqSRW3NcQfpISa6ixNvrXo0wLgMJxXNOH-UdP0a10GaDMbDi1G9cp7OsiBmL-BXkNopEsj021xwGpuMzTp0ZBPEIoAcPyR8SxEMAWukvn6ycTRDvV9UyFd7lgqo5zYRu0YEP6CLV6MQl9YZaQ”

}