Table of Contents |
---|
...
Navn | Type | Lovlige verdier | Kommentar |
---|---|---|---|
fullmaktReferanseId | Guid | Referanse mottatt i tidligere respons | Denne er en unik referanse til et bestemt fullmaktsforhold |
Eks:
{
"fullmaktReferanseId":"76daf7a1-3005-ea11-831a-000d3a29f858"
}
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 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 | Hvor fullmaktsforholdet har gyldighet. Samme innhold som fullmaktens virkeområde, prefikset av “no:”: “helsenorge” - Fullmakten kan kun benyttes for digitale helsetjenester på Helsenorge “apotek” - Fullmakten kan benyttes på apotek og bandasjister “helse_og_omsorgsektoren” - Mulig framtidig: Fullmakten gjelder hele helse og omsorgssektoren |
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 til fullmaktgiver |
sub_birthdate | Subject Birthdate | Fødselsdato til fullmaktsgiver Eks: "1956-07-12" |
sub_given_name | Actor given name | Fornavn til fullmaktshaver |
sub_family_name | Actor family name | Etternavn til fullmaktshaver |
sub_middle_name | Actor middle name | Mellomnavn til fullmaktshaver |
act_sub | Actor subject | Fødselsnummer til fullmaktshaver |
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. Scopen er prefikset med cerdien i “audience”. |
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 |
...
Code Block |
---|
{
"jti": "d8ef103b-df1f-494d-8625-8e5431cccb47",
"aud": "no:apotek",
"pvk_ref": "76daf7a1-3005-ea11-831a-000d3a29f858",
"type":"ordinar",
"sub": "13077204746",
"sub_birthdate":"1972-07-13",
"sub_given_name":"Ole",
"sub_family_name": "Hansen",
"sub_middle_name": "",
"act_sub": "07118600295",
"act_birthdate": "1986-11-07",
"act_given_name": "Hanne",
"act_family_name": "Pettersen",
"act_middle_name": "Simensbråten",
"act_scp": "no:apotek:journalinfo no:apotek:utleveringresepter",
"iss": "personvern.helsenorge.no",
"nbf": 1574150978,
"exp": 1574152778,
"iat": 1574150978
} |
...
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”
}