Skatteetaten tilbyr samtykkebasert datauthenting basert på Altinn sin løsning for digitalt samtykke

Samtykke

Samtykke gis via samtykkeløsningen til Altinn

illustrasjon av samtykkeprosessen

For å bruke løsningen må datakonsument først redirecte skatteyter til samtykkeløsningen til Altinn. Dersom skatteyter samtykker til at ønskede data kan utleveres til datakonsumenten oppretter Altinn et samtykke (en representasjon av hva som er avtalt mellom Datakonsument og Skattepliktig). Datakonsumenten kan så hente data fra Skatteetatens datatjenester. Samtykket må sendes med dataforespørselen og blir kontrollert av Skatteetaten.

Tjenester med støtte for samtykke

Krav om ekstra informasjon

Ifm oppsett av autorisasjon må datakonsumenter som benytter samtykke oppgi noen ekstra opplysninger.

Skatteetaten sine krav ifm redirect til Altinn sin samtykketjeneste

For å starte en samtykkeingåelse må man redirecte sluttbruker til Altinn med parametre som forteller hvilke datatjenester man ønsker samtykke for, mm. Nedenfor er en oversikt over hvilke parametre/verdier som må benyttes for å etablere samtykke for bruk av Skatteetaten sine datatjenester.

For full oversikt over alle parametre som må/kan settes, se Altinn: be om samtykke

parameter forklaring eksempelverdi
Resources Punktum separert liste med ID_VERSJON for data tjenester man ønsker samtykke for. Se Tjeneste ID og Versjon 4628_210607.4804_210607
CoveredBy Orgnummer for datakonsument. Må matche orgnummer til autentisert konsument 123456789
HandledBy Orgnummer for leverandøren, dersom tilgangen er delegert 123456789
RedirectURL Url-encoded url som sluttbruker skal redirectes til etter inngått samtykke. Må matche redirect domene regexp man har bestilt autorisering for https%3A%2F%2Fwww.datakonsument.no
ValidToDate Kan maksimalt være 10 dager frem i tid. Skatteetaten vil avvise samtykker med gyldighetsperioder lengre perioder enn 10 dager (selv om samtykket benyttes innen 10 dager) 2017-04-30T10:30:00Z
RequestMessage (tidl. DelegationContext) Url-encoded meldig til sluttbruker som vises i samtykkedialogen. For banker stilles det krav om hva teksten skal være se DelegationContext krav for banker
4804_210607_fraOgMed Parameter for Inntekt 2018-03
4804_210607_tilOgMed Parameter for Inntekt 2018-06
4628_210607_inntektsaar Parameter for Skattegrunnlag 2017

Tjeneste ID og Versjon

Tjeneste Gammel tjenestekode Ny tjenestekode
Inntektsmottaker API 4804_170223 4804_210607
Spesifisert summert skattegrunnlag API 4628_1 4628_210607

Konsumenter av SBL-tjenestene skal over på ny samtykkeløsning og i den forbindelse må nye tjenestekoder tas i bruk, og de gamle vil saneres.

Tjeneste parametre

Når man starter samtykkeinngåelsen må man ha med tjenestespesifikke parametre for de tjenestene man vil ha samtykke for.

Resource obligatoriske parametere forklaring eksempel
4628_210607 4628_210607_inntektsaar inntektsaar det skal hentes skattedata for &4628_210607_inntektsaar=2017
4804_210607 4804_210607_fraOgMed startmåned det skal hentes inntektsopplysninger for &4804_210607_fraOgMed=2018-08
4804_210607 4804_210607_fraOgMed sluttmåned det skal hentes inntektsopplysninger for &4804_210607_tilOgMed=2018-10

Krav til DelegationContext

Banker som bruker samtykkeløsningen skal bruke DelegationContext:

Ved å samtykke, gir du Skatteetaten rett til å utlevere opplysninger om deg direkte til <banknavn>. Banken får opplysningene for å behandle søknad om finansiering.

Denne teksten er avtalt mellom finansnæringen og Skatteetaten og SKAL brukes som beskrevet under.

Man må bytte <banknavn> til bankens navn og så urlencode teksten. Det finnes mange gode online verktøy for url encoding/decoding. Ferdig encoded vil teksten se noe slik ut:

Ved%20%C3%A5%20samtykke%2C%20gir%20du%20Skatteetaten%20rett%20til%20%C3%A5%20utlevere%20opplysninger%20om%20deg%20direkte%20til%20%3Cbanknavn%3E.%20%20Banken%20f%C3%A5r%20opplysningene%20for%20%C3%A5%20behandle%20s%C3%B8knaden%20din%20om%20finansiering

Krav om kontroll av samtykke

Hvis datakonsument ikke vet med sikkerhet hvem som har samtykket skal datakonsument kontrollere hvem samtykketoken gjelder for før spørring mot Datasamarbeid API utføres. Dette er spesielt aktuelt i tilfeller der det gis flere samtykker i samme saksflyt (for eksempel at flere personer søker lån sammen).

Se faq for hvordan man kan kontrollere samtykketoken, og mulige årsaker til roblemet.

Restriksjon på bruk av iFrames

Samtykkedialogen kan ikke innpakkes i en iFrame eller annen branding som er egnet til å utydeliggjøre domenet samtykkedialogen foregår på (som er altinn + idporten).

Dette er begrunnet med et potensielt misbruksscenario beskrevet i OAuth2-spesifikasjonen (clickjacking)

Eksempel

Eksempel redirect url

https://tt02.altinn.no/ui/AccessConsent/?Resources=4628_210607.4804_210607&CoveredBy=123456789&RedirectUrl=http:%2F%2Fwww.datakonsument.no&ValidToDate=2017-09-10T10:30:00Z&DelegationContext=%20Ved%20%C3%A5%20samtykke,%20gir%20du%20Skatteetaten%20rett%20%20til%20%C3%A5%20utlevere%20%20opplysninger%20om%20deg%20direkte%20til%20Banken%20AS.%20Banken%20f%C3%A5r%20opplysningene%20for%20%C3%A5%20behandle%20s%C3%B8knaden%20din%20om%20finansiering.&ResponseType=code&4804_210607_fraOgMed=2017-05&4804_210607_tilOgMed=2017-07&4628_210607_inntektsaar=2016

Veksle inn authcode

Se Altinn: veksle inn autorisasjonskode i token

Headerinformasjon

Altinn samtykketoken må settes i header i request til Skatteetaten sine datatjenester. Det er ikke nødvendig for datakonsument å lese samtykketoken eller sette seg inn i tokenformatet. For full dokumentasjon av tokenformat se Altinn: tokenformat

header forklaring eksempelverdi
AltinnSamtykke Base64 encoded JWT samtykketoken fra Altinn eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsIng1dCI6IkthUGxpMFJUdVVUcl9yUXJWSmhzQkNXQS0yayJ9.eyJTZXJ2aWNlQ29kZXMiOiI0NjI4LDEiLCJBdXRob3JpemF0aW9uQ29kZSI6IjE1MzM0ZTcxLTVhMzEtNDE0Ny05MjA4LTNkYTFlZDYwNTY0OSIsIk9mZmVyZWRCeSI6IjA1MDg4MDAwMTEyIiwiQ292ZXJlZEJ5IjoiOTEwNTE0NDU4IiwiRGVsZWdhdGVkRGF0ZSI6IjE2LjAyLjIwMTcgMTc6MTc6MDYiLCJWYWxpZFRvRGF0ZSI6IjAxLjAxLjIwMTggMjM6NTk6NTkiLCJpc3MiOiJhbHRpbm4ubm8iLCJleHAiOjE0ODgzMDQzMDcsIm5iZiI6MTQ4ODMwNDI3N30.signatur_fjernet

Samtykketoken er base64-encodet og signert når det hentes fra Altinn sin datatjeneste. Det er bare gyldig i 30 sekunder, men man kan hente nytt token basert på authcoden så ofte man vil.

Samtykketoken er et JWT token og det finnes gode online verktøy for å lese tokens, f.eks. jwt.io

Tags: