Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 23 Next »

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 fra andre spesialiserte registre.  Ett av disse registrene 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å vil 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:

  1. 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 fra PVK over de fullmakter innbygger har gitt fra seg.

  2. 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.

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

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

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).

  • fornavn

  • mellomnavn

  • etternavn

  • maskertFnr

  • fullmaktReferanseId

  • string

  • string

  • string

  • string

  • string


"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).

  • fornavn

  • mellomnavn

  • etternavn

  • maskertFnr

  • fullmaktReferanseId

  • string

  • string

  • string

  • string

  • Guid


"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)

Header

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”

}


  • No labels