Autentisere med ID-porten
Beskrivelse av hvordan systemer kan benytte ID-porten for å få tilgang til APIer i Altinn 3.
Systemer for sluttbrukere kan autentisere brukere via ID-porten for å benytte API fra applikasjoner kjørende i Altinn Apps og enkelte funksjoner i Altinn Platform på vegne av sluttbruker.
Det er hovedsakelig to typer systemer hvor dette er aktuelt: webbaserte løsninger og tykke klienter.
Felles for begge løsninger er at sluttbruker logger inn via nettleser i ID-porten med ønsket autentiseringsmekanisme, for eksempel:
- Min-ID
- BankID på mobil
- BankID
Systemet må forespørre et sett med scopes i ID-porten som sluttbruker må akseptere at systemet kan utføre på vegne av sluttbruker. Disse scopene avgrenser hva systemet kan utføre på vegne av sluttbruker.
Relevante scopes for Altinn 3 er:
altinn:instances.meta- Se oversikt over innboks og arkiv i Altinnaltinn:instances.read- Lese innholdet i innboks og arkiv i Altinn for alle elementer sluttbruker er autorisert foraltinn:instances.write- Fylle ut, signere og sende inn skjema i Altinn for alle elementer sluttbruker er autorisert foraltinn:lookup- Benytte innsynstjenester i Altinnaltinn:reportees- Se hvem du kan handle på vegne av i Altinn
Bildet nedenfor viser hvordan sluttbruker må bekrefte tilgangen.
For detaljer om scope og opplisting av alle tilgjengelige scopes, se dokumentasjon fra ID-porten.
Når pålogging er gjennomført, vil systemet ha tilgang til et ID-token, refresh token og et access token. Access tokenet har begrenset levetid, men kan fornyes ved hjelp av refresh token.
Webbaserte systemer
Webbaserte systemer består av løsninger med en webbasert frontend som kjører i nettleser, samt serverside kode.
Tykke klienter
Med tykke klienter menes applikasjoner som installeres og kjøres lokalt på en datamaskin og ikke i nettleser. Disse må likevel benytte nettleser for å logge inn.
Veksling av access token til Altinn token
Access-tokenet (IKKE ID TOKEN!) som utstedes fra ID-porten må veksles inn i et Altinn-token før det kan benyttes mot Altinns API’er. Dette Altinn-tokenet vil ha samme levetid som access-tokenet.
Flytdiagrammet nedenfor viser hvordan tokenet veksles inn.
Se detaljer i Altinns API dokumentasjon under metoden GET /exchange/{tokenProvider}.
Sluttbrukere har i Altinn mulighet til å få oversikt over alle systemer og hvilke tilganger de har. På denne måten kan man trekke langvarige tilganger. Systemet vil da bli avvist neste gang det prøver å fornye access-token.
Bildet nedenfor viser hvordan dette vil bli i Altinn (ikke satt i produksjon enda).
Et system som har fått et token fra ID-porten, kan utføre handlinger som brukeren er autorisert for, bare begrenset av bruksområdet til scopet. Hvis systemet for eksempel har fått scope for innsending av skjema, kan det sende inn alle skjemaer for alle personene og virksomhetene som brukeren er autorisert til å handle på vegne av. Det er derfor viktig at brukeren kan stole på systemet.

