Introduksjon
I regi av SKATE-programmet skal det realiseres en felles tverrsektoriell løsning for fullmaktadministrasjon. Det tverrsektorielle knutepunktet er AltInn som igjen henter informasjon om fullmaktsforhold fra eget register samt fr andre spesialiserte registre. Ett av disse registerne er PVK som inneholder fullmakter som er lagret på Helsenorge. Disse angir at en innbygger kan presentere en annen når tjenester på Helsenorge benyttes. Pr. idag kan de fullmakter vi har i PVK kun benyttes ved bruk av tjenestene på Helsenorge. I et framtidig scenarie ser vi at PVK også kan inneholde andre typer fullmakter som har et mer generelt virkeområde i sektoren og ikke nødvendigvis er knyttet til tjenester på Helsenorge.
FUFINN API'et skal dekke to Usecases:
Innbygger skal kunne se (og siden: administrere) sine fullmakter ett sted. Dette vil være i AltInn. For at AltInn skal kunne vise et "total-bilde", må innbygger også kunne se hvilke fullmakter man har gitt fra seg, og som er lagret i PVK. PVK tilbyr derfor et API der et autorisert system (her AltInn) skal kunne be om en liste over de fullmakter innbygger har gitt fra seg i PVK.
Når en innbygger er innlogget i et tverssektorielt brukersted (eksempel "min-side" i en kommune) skal dette brukerstedet kunne spørre AltInn (FUFINN) om hvilke andre innbyggere innlogget bruker kan representere. AltInn kan da hente slik informasjon og presentere dette til brukerstedet. Dette vil da kunne benyttes i en "person-velger" i brukstedet. Brukerstedet kan be om informasjon om hvem innlogget bruker kan representere på helt vid basis, eller innen et bestemt sektorområde. Ett av disse sektorområdene vil da være "Helse- og omsorg, digitale innbyggertjenester". (Dette er et arbeidsnavn). For at dette skal være mulig, må PVK tilby et API til autorisert system (her AltInn) der man kan hente ut informasjon om hvem andre en innbygger kan representere (innen det tjenesteområde PVK representerer.
Tjenesteoversikt
TjenesteNavn | HttpVerb | Beskrivelse |
---|---|---|
HentFullmaktshavere | POST | Hente ut liste over fullmaktshavere (de som har fått fullmakt) av en gitt innbygger. |
HentFullmaktsgivere | POST | Hente ut liste over fullmaktsgivere (de som har gitt en innbygger fullmakt til å representere seg.) |
HentFullmakt | POST | Henter ut detaljer om et fullmaktsforhold. |
HentFullmaktshavere
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"
} ]
}
HentFullmaktsgivere
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"
} ]
}
HentFullmakt
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":"D78C4733-9652-41A9-8FC2-DA5363410AD0",
"sektor":"HO-DIT"
}
Responsparametre
Dette er et JWT signert av Helsenorge personverntjenester.
Format
encodeBase64(json-header) + '.' + encodeBase64(json-payload) + '.' + encodeBase64(signature) |
---|
Header
Kort claimnavn | Fullt claimnavn | Beskrivelse |
---|---|---|
alg | Algorithm |
|
kid | Key ID | Thumbprint til sertifikatet som ble benyttet til å generere token |
typ | Type | Type token det er, vil alltid være "JWT" |
Payload
Eks:
{
"aud":"https://helsenorge.no",
"sub":"03067845510",
"pvk_ref":"D78C4733-9652-41A9-8FC2-DA5363410AD0",
"may_act":
{
"sub": "11065511345",
"act_type": "fullmakt",
"scp": "hn_no_registerinnsyn hn_no_journalinnsyn hn_no_digitaletjenester"
},
"nbf":1443904077,
"exp":1443904177,
"iat":"1443904077",
"iss":"personvern.helsenorge.no"
}
Kort claimnavn | Fullt claimnavn | Beskrivelse |
---|---|---|
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. |
may_act | May act | Definert i Draft RFC for TokenExchange. Den personen som kan representere "sub" via fullmakt. |
|
|
Verdi Beskrivelse segselv Innbyggeren representerer seg selv fullmakt Fullmakt vergemal Vergemål foreldrerepresentasjon Foreldrerepresentasjon
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 |
scp | Scope | Kommaseparert liste over fullmaktsområder på Helsenorge: Verdier:
|
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" |
Signatur
Tokenet genereres og signeres i Personvernkomponeten (PVK) ved bruk av dennes dedikerte virksomhetssertifikat. Signeringsalgoritmen som benyttes er RSA-SHA256.
Url
Miljø | tUrl |
---|---|
Dev | |
ST | |
MAS-01 | |
MAS-02 | |
REL-01 | |
REL-02 | |
TEST1 | |
TEST2 | |
QA | |
AT | |
PROD |