Table of Contents |
---|
...
MERK! Alle API’er på Helsenorge og mot Personvernkomponenten er sikret i henhold til vår sikkerhetsmodell basert på Oauth2. Se her: Hvordan få tilgang til eksterne API'er på Helsenorge (og PVK)
Tjenesteoversikt
TjenesteNavn | Http | Beskrivelse |
---|---|---|
Fullmaktshavere | POST <system url>/personvern/v1/Fullmaktshavere | Hente ut liste over fullmaktshavere (de som har fått fullmakt) av en gitt innbygger. |
Fullmaktsgivere | POST <system url>/personvern/v1/Fullmaktsgivere | Hente ut liste over fullmaktsgivere (de som har gitt en innbygger fullmakt til å representere seg.) |
FullmaktToken | POST <system url>/personvern/v1/FullmaktToken | Henter ut detaljer om et fullmaktsforhold |
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 her: 01 - Sikkerhetsmodell og Helsenorge STS
Fullmaktshavere
Input parametre
Navn | Type | Lovlige verdier | Kommentar |
---|---|---|---|
fullmaktsgiverFnr | string | fødselsnummer (11 siffer) | Dette er fødselsnummer til den innbygger som har avgitt fullmakter, og som det skal returneres en liste over fullmaktshavere for. |
sektor | string | Skal være "HO-DIT" | "Helse og omsorg - digitale innbyggertjenester. (Dette er foreløpig et arbeidsnavn.) |
Eks:
{
"fullmaktsgiverFnr":"12048645510",
"sektor":"HO-DIT"
}
Responsparametre
Navn | Type | Kommentar | |
---|---|---|---|
fullmaktsgiverFnr | string | fødselsnummer (11 siffer) | Dette er fødselsnummer til den innbygger som har avgitt fullmakter (og som det ble spurt på). |
sektor | string | Skal være "HO-DIT" | "Helse og omsorg - digitale innbyggertjenester. (Dette er foreløpig et arbeidsnavn.) |
fullmaktshaverFunnet | boolean | Denne vil alltid være med i retur. | |
fullmaktshavere | array | JSON-struktur | En liste med fulmakthaver (som er gitt av fullmaktgiver). |
|
| "fullmaktReferanseId" benyttes i etterfølgende kall for å få detaljer om en fullmakt. |
Eks:
{
"fullmaktsgiverFnr":"12048645510",
"sektor":"HO-DIT",
"fullmaktshaverFunnet":"TRUE",
"fullmaktshavere": [
{
"fornavn":"Per",
"mellomnavn":"Ole",
"etternavn":"Hansen",
"maskertFnr":"191155xxxxx",
"fullmaktReferanseId":"3FE2A80A-4200-42E2-817B-DA8A6236708A"
},
{
"fornavn":"Hans",
"mellomnavn":"Per",
"etternavn":"Olesen",
"maskertFnr":"120654xxxxx",
"fullmaktReferanseId":"3F7457B8-821C-45A8-AE04-D3E4A0DAC0F0"
} ]
}
Fullmaktsgivere
Input parametre
Navn | Type | Lovlige verdier | Kommentar |
---|---|---|---|
fullmaktshaverFnr | string | fødselsnummer (11 siffer) | Dette er fødselsnummer til den innbygger som har mottatt fullmakter, og som det skal returneres en liste over fullmaktgivere for. |
sektor | string | Skal være "HO-DIT" | "Helse og omsorg - digitale innbyggertjenester. (Dette er foreløpig et arbeidsnavn.) |
Eks:
{
"fullmaktHaverFnr":"12065431326",
"sektor":"HO-DIT"
}
Responsparametre
Navn | Type | Kommentar | |
---|---|---|---|
fullmaktshaverFnr | string | fødselsnummer (11 siffer) | Dette er fødselsnummer til den innbygger som har mottatt fullmakter (og som det ble spurt på). |
sektor | string | Skal være "HO-DIT" | "Helse og omsorg - digitale innbyggertjenester. (Dette er foreløpig et arbeidsnavn.) |
fullmaktsgiverFunnet | boolean | Denne vil alltid være med i retur. | |
fullmaktsgivere | array | JSON-struktur | En liste med fullmaktgivere (som har avgitt fullmakt til fullmakthaver). |
|
| "fullmaktReferanseId" benyttes i etterfølgende kall for å få detaljer om en fullmakt. |
Eks:
{
"fullmaktshaverFnr":"12065431326",
"sektor":"HO-DIT",
"fullmaktsgiverFunnet":"TRUE",
"fullmaktsgivere": [
{
"fornavn":"Per",
"mellomnavn":"Ole",
"etternavn":"Hansen",
"maskertFnr":"191155xxxxx",
"fullmaktReferanseId":"FD20BDD3-2233-4508-9355-56DEE393C399"
},
{
"fornavn":"Jens",
"mellomnavn":Herman",
"etternavn":"Jensen",
"maskertFnr":"120486xxxxx",
"fullmaktReferanseId":"D78C4733-9652-41A9-8FC2-DA5363410AD0"
} ]
}
FullmaktToken
Input parametre
Navn | Type | Lovlige verdier | Kommentar |
---|---|---|---|
fullmaktReferanseId | Guid | Referanse mottatt i tidligere respons | Denne er en unik referanse til et bestemt fullmaktsforhold |
sektor | string | Skal være "HO-DIT" | "Helse og omsorg - digitale innbyggertjenester. (Dette er foreløpig et arbeidsnavn.) |
Eks:
{
"fullmaktReferanseId":"76daf7a1-3005-ea11-831a-000d3a29f858",
"sektor":"HO-DIT"
}
Responsparametre
Dette er et JWT signert av Helsenorge personverntjenester.
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 claimnavn | Beskrivelse |
---|---|---|
aud | Audeience | Hvor fullmaktsforholdet har gyldighet |
sub | Subject | Fødselsnummer til fullmaktgiver |
pvk_ref | PVK reference | GUID i PVK som entydig identifiserer dette fullmaktsforholdet. |
act_sub | Actor subject | Fødselsnummer til fullmaktshaver |
act_typ | Actor type | Beskrivelse av representasjonsforholdet. Kan inneholde kun en av følgende verdier: Verdi Beskrivelse segselv Innbyggeren representerer seg selv fullmakt Fullmakt vergemal Vergemål foreldrerepresentasjon Foreldrerepresentasjon |
act_scp | Actor scope | Omfanget av representasjonsforholdet (her fullmakt). Kan inneholde en eller flere av følgende verdier: Verdi Beskrivelse hn.no.registerinnsyn Laveste fullmaktsområde på Helsenorge. Gir tilgang til å utøve personvernrettigheter hn.no.journalinnsyn Gir tilgang til å se andres journaler hn.no.digitaletjenester Gir tilgang til å utøve digitale helsetjenester på vegne av andre |
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 |
iss | Issuer | Hvem som har generert tokenet, vil alltid være "personvern.helsenorge.no" |
Eks:
{
"jti": "d8ef103b-df1f-494d-8625-8e5431cccb47",
"aud": "https://helsenorge.no",
"sub": "13077204746",
"pvk_ref": "76daf7a1-3005-ea11-831a-000d3a29f858",
"act_sub": "07118600295",
"act_typ": "fullmakt",
"act_scp": "hn.no.registerinnsyn hn.no.journalinnsyn hn.no.digitaletjenester",
"iss": "personvern.helsenorge.no",
"nbf": 1574150978,
"exp": 1574152778,
"iat": 1574150978
}
Signatur
Tokenet genereres og signeres i Personvernkomponeten (PVK) ved bruk av dennes virksomhetssertifikat. Signeringsalgoritmen som benyttes er RSA-SHA256.
Eks: på fullt JWT-token:
{
“jwt”: “eyJhbGciOiJSUzI1NiIsImtpZCI6IjA0NkI4QUMxQjAyRjk0RTk0M0E4MTM3Q0Y1MkVBM0Y0RDdDNzg0MjkiLCJ0eXAiOiJKV1QiLCJ4NWMiOlsiTUlJRS9EQ0NBK1NnQXdJQkFnSUxBWGozYVN3cnN6TllEYUl3RFFZSktvWklodmNOQVFFTEJRQXdVVEVMTUFrR0ExVUVCaE1DVGs4eEhUQWJCZ05WQkFvTUZFSjFlWEJoYzNNZ1FWTXRPVGd6TVRZek16STNNU013SVFZRFZRUUREQnBDZFhsd1lYTnpJRU5zWVhOeklETWdWR1Z6ZERRZ1EwRWdNekFlRncweE9EQXhNak13TnpRNE1EVmFGdzB5TVRBeE1qTXlNalU1TURCYU1HSXhDekFKQmdOVkJBWVRBazVQTVNFd0h3WURWUVFLREJoRVNWSkZTMVJQVWtGVVJWUWdSazlTSUVVdFNFVk1VMFV4SERBYUJnTlZCQU1NRTFCRlVsTlBUbFpGVWs1VVNrVk9SVk5VUlZJeEVqQVFCZ05WQkFVVENUa3hOVGt6TXpFME9UQ0NBU0l3RFFZSktvWklodmNOQVFFQkJRQURnZ0VQQURDQ0FRb0NnZ0VCQUxFSlpVZkpUdVZZaTVVMW1BTWdyeHZOaUxyU2lHbEM5Rmk4N2JwWW5ZQzVUTW5kcFpMNjdQdG9EcldtdHdJL2J3N281anZzYmJKQWdNdU5Ca2Fic0JjcnNSbFBpczBEQkJVa29LQThRSUVuam1oakhVRWYzR044bnNEZ1RGQlB1cFNHRzJwVUIreFRKNTVTZTVMU0c1am9XU3kzZmtNRzRSbjljVG5SbjJ1WU1zSjNXM2grRzk3OTlQdWlCaUxINjVyVGQ5OUhsWmZibEtyZDM4MjcwZFlIT2dqY3ZWMHhqSjVCYXpVRExubGtzREU2SFVZMStabkFSOWlrbWZzWEtLTWlNQXdwTW9UejgrRDlqWVU3UWxOdkVQR0tZVm0yTldQVloxaTZDdGo4L05TZnl4c0ZQR0RLN1pzbXpwSk9LaTJVajcwa3RiRytaV3lhT1h3OTU1c0NBd0VBQWFPQ0FjSXdnZ0crTUFrR0ExVWRFd1FDTUFBd0h3WURWUjBqQkJnd0ZvQVVQNjcxZUF1U28zQWdOVjlhK3Zja29GSUI4RUV3SFFZRFZSME9CQllFRkwyNzJkNXZyTmpzQzJjOVFIY3U5ZkY4Zko5Sk1BNEdBMVVkRHdFQi93UUVBd0lHUURBV0JnTlZIU0FFRHpBTk1Bc0dDV0NFUWdFYUFRQURBakNCdXdZRFZSMGZCSUd6TUlHd01EZWdOYUF6aGpGb2RIUndPaTh2WTNKc0xuUmxjM1EwTG1KMWVYQmhjM011Ym04dlkzSnNMMEpRUTJ4aGMzTXpWRFJEUVRNdVkzSnNNSFdnYzZCeGhtOXNaR0Z3T2k4dmJHUmhjQzUwWlhOME5DNWlkWGx3WVhOekxtNXZMMlJqUFVKMWVYQmhjM01zWkdNOVRrOHNRMDQ5UW5WNWNHRnpjeVV5TUVOc1lYTnpKVEl3TXlVeU1GUmxjM1EwSlRJd1EwRWxNakF6UDJObGNuUnBabWxqWVhSbFVtVjJiMk5oZEdsdmJreHBjM1F3Z1lvR0NDc0dBUVVGQndFQkJINHdmREE3QmdnckJnRUZCUWN3QVlZdmFIUjBjRG92TDI5amMzQXVkR1Z6ZERRdVluVjVjR0Z6Y3k1dWJ5OXZZM053TDBKUVEyeGhjM016VkRSRFFUTXdQUVlJS3dZQkJRVUhNQUtHTVdoMGRIQTZMeTlqY25RdWRHVnpkRFF1WW5WNWNHRnpjeTV1Ynk5amNuUXZRbEJEYkdGemN6TlVORU5CTXk1alpYSXdEUVlKS29aSWh2Y05BUUVMQlFBRGdnRUJBR3lpeW9HZU9xNGdXODdTUitPbTlYUElYeTJJZUh2ekl4Mk5ETE81bDVmY2l6NzVGMFVuaW83QU4vTkpGM0I3aVRCNldyS2Z1ZjFGQ2xZVlpSV2FLSFIwUEZPTjk3T1UwRHEzNU03Qi9rM0YrWjMvb05QYUxvTkdSTE9SeWJaMGxEdTNxdmFsNy9Mb1RINjg1S25RQ3lpeVFPN25PV1FPaUV0b1J6N0EzTndGdlhQU2lOTkpmVktqdG9NUk90a0VuWWplTDJEL0k2cjVXSjhpSHM0d1ZGeDk5UHFxRUpmQmp1NmtHMEZnY09ReUdOLzJHSTdCenVneDdSWnpncWZKUGczYUdKV2hiWjJmMmhiVU9VNHZKamJPZGp5djBmWmt4aVRmazJnQ2ZIV2xldVZuRFNTN1dNU08vb05BNVB1Zm91ZldRNWhzM0c1eXRuU0lMUmR3SXAwPSJdfQ.eyJqdGkiOiJkOGVmMTAzYi1kZjFmLTQ5NGQtODYyNS04ZTU0MzFjY2NiNDciLCJhdWQiOiJodHRwczovL2hlbHNlbm9yZ2Uubm8iLCJzdWIiOiIxMzA3NzIwNDc0NiIsInB2a19yZWYiOiI3NmRhZjdhMS0zMDA1LWVhMTEtODMxYS0wMDBkM2EyOWY4NTgiLCJhY3Rfc3ViIjoiMDcxMTg2MDAyOTUiLCJhY3RfdHlwIjoiZnVsbG1ha3QiLCJhY3Rfc2NwIjoiaG4ubm8ucmVnaXN0ZXJpbm5zeW4gaG4ubm8uam91cm5hbGlubnN5biBobi5uby5kaWdpdGFsZXRqZW5lc3RlciIsImlzcyI6InBlcnNvbnZlcm4uaGVsc2Vub3JnZS5ubyIsIm5iZiI6MTU3NDE1MDk3OCwiZXhwIjoxNTc0MTUyNzc4LCJpYXQiOjE1NzQxNTA5Nzh9.fejVgmjNubQJ7GozeMiD9AyvSCeH79hAr62TLLzc_q6pvuTrPSMrdIX6vnilwl2pTrWfwOgPMgL8o31L0XTHsAoydHpvpm5q8AVs68Nmf8G8z7HtbPhe2k6vy34QC5z2cqHCopLD6wUPeRAZNDm6bBDZqsVntT5mkKQKvRcWGny93aMY5JwN19rLDSTjjzjXZhRTurqSRW3NcQfpISa6ixNvrXo0wLgMJxXNOH-UdP0a10GaDMbDi1G9cp7OsiBmL-BXkNopEsj021xwGpuMzTp0ZBPEIoAcPyR8SxEMAWukvn6ycTRDvV9UyFd7lgqo5zYRu0YEP6CLV6MQl9YZaQ”
}