I denne leksjonen vil vi vise hvordan man delegerer nye rettigheter til en person over REST. Leksjonen bygger på modeller og konverterere vil definerte i tidligere leksjoner. Koden vi viser i denne leksjonen kan ses i sin helhet i AuthorizationHandler.cs i det tilhørende C#/.Net prosjektet.
POST authorization/Delegations For å delegere nye roller og rettigheter til en aktør over REST skal man bruke POST api/{who}/authorization/Delegations.
RightHolder modellen som skal brukes som body i kallet skal inneholde følgende: »
I denne leksjonen vi vi vise hvordan man kan trekke rettigheter som er gitt til en person over REST. Koden vi viser i denne leksjonen kan ses i sin helhet i AuthorizationHandler.cs i det tilhørende C#/.Net prosjektet.
DELETE authorization/Delegations Det er ikke alle tilganger i Altinn som kan styres over REST. Man kan ha tilganger på grunn av en rolle man har for organisasjonen. Her vil vi derfor anta at personen har fått tilgang til en tjeneste som en delegering, som man nå ønsker å trekke tilbake. »
API-nøkkel oversikt Altinns API-nøkkel ressursoversikt »
Introduksjon
De fleste av Altinns API-er som er offentlig tilgjengelige krever at systemet som integreres med Altinn autentiseres som en sluttbruker, som regel en person.
Systemet vil da kunne opptre som sluttbrukeren, og utføre tjenester på vegne av sluttbrukeren selv og andre personer eller organisasjoner som sluttbrukeren har roller og rettigheter hos - f.eks. sende inn skjemaer, hente meldinger fra det offentlig, administrere tilganger i virksomheter etc.
»REST forespørsler som ikke krever API-nøkkel eller autentisering De aller fleste API-endepunktene for Altinn krever både API-nøkkel og autentisering, men Metadata er åpne endepunkt som ikke krever noe. For å vise hvordan man kan kalle disse fra Postman skal vi bruke GET /api/metadata som returnerer informasjon om tjenestene i Altinn. For referanseinformasjon om endepunktet kan man se på API Help for GET metadata eller Swagger for GET metadata.
Observer at URL er satt til {{envUrl}}/api/metadata. »
Introduksjon
For noen typer integrasjoner er det uhensiktsmessig å kreve at en person autentiserer seg og lar systemet bruke Altinn med tilgangene personen innehar.
Fagsystemer som gjerne har sin egen innloggingsmekanisme internt i virksomheten, eller automatiserte systemer uten brukerinteraksjon kan opprette og benytte seg av en eller flere virksomhetsbrukere for autentisering og autorisasjon.
En virksomhetsbruker er som en vanlig sluttbruker i den forstand at den kan tildeles roller og rettigheter i organisasjonen den tilhører.
»Virksomhetsbrukere lar organisasjoner lage brukere som kan gis roller og rettigheter på samme måte som personer, og kan bruke en virksomhetsinnlogging for å autentisere systemer som da kan benytte seg av disse tilgangene.
»I denne leksjonen vil vi følge stegene som er beskrevet i detalj på ID-portens dokumentasjonssider.
Registrering av klienter Integrasjonsguide - Autentisering i ID-porten over OpenID Connect Vi anbefaler sterkt at man bruker disse ressursene hvis man trenger mer informasjon og at man gjennomgår disse etter at leksjonen er fullført for å forankre kunnskapen i OAuth2 og OpenID Connect sammenheng.
Leksjonen er delt opp i følgende steg:
Registrere en API-klient i ID-portens Samarbeidsportal. »
I denne leksjonen vil vi følge stegene som er beskrevet i detalj på Maskinportens dokumentasjonssider.
Slik bruker du Maskinporten som API-konsument Vi har også brukt oppsettet i Google Service Account Access-collection fra Postmans dokumentasjonssider.
Google Service Account Access Leksjonen er delt opp i 3 hoveddeler:
Førstegangsoppsett nødvendig for å hente et Maskinporten-token. Lage et JSON Web Key (JWK) nøkkelpar. Registrere en Maskinporten-integrasjon i Samarbeidsportalen. Registrere den offentlige delen av nøkkelparet på Maskinporten-integrasjonen. »
Forarbeid Denne leksjonen bygger på forrige leksjon om hvordan bruke Maskinporten-token. Det er nødvendig å kalle Maskinporten-token-endepunktet siden dette skal brukes som autorisasjon på Altinn-exchange-token-endepunktet. Oppsettet på denne siden forventer å finne et Maskinporten-token i det aktive environment på variabelen maskinporten-access_token.
Man må også ha brukernavn og passord til en virksomhetsbruker for den organisasjonen man representerer. Etter å ha opprettet virksomhetsbrukeren så må man legge til to nye environment-variabler, altinn-username og altinn-password, med verdiene for denne brukeren. »