Veiledning API klient

Denne veiledningen vil forklare hvordan man lager en klient som integrerer seg med Altinns REST API. Klienten vil utføre kall til Altinn Autorisasjon og representerer en enkel tilgangsstyringsklient.

Klienten vil gjøre følgende:

  1. Hente et OAuth2 bearer token fra Maskinporten.
  2. Hente et Altinn autentiseringstoken basert på Maskinporten tokenet.
  3. Konvertere et fødselsnummer til et Altinn reportee id
  4. Hente rettigheter som en person har for en virksomhet
  5. Gi nye rettigheter fra en virksomhet til en person
  6. Slette en rettighet en person har for en virksomhet

Kodeeksemplene og det tilhørende Visual Studio Code prosjektet er skrevet i .Net Core 5 og C#, men innføringen forutsetter ikke kunnskap om .Net og C#. Du må gjerne sjekke ut Altinn 2 test apiklient på Github.

Ansvarsfraskrivelse

Koden i testklienten er skrevet for å være forklarende og lett å lese, men den er ikke ment for å brukes uten modifikasjoner i ekte program som behandler sensitive personopplysninger.

For en mer robust API-klient mot Maskinporten laget for .Net Core 5+ kan man bruke .NET client for Maskinporten APIs som vi også har på Github.

  • Nødvendig forarbeid

    Informasjon som er nødvendig for at klienten skal kunne autentisere seg og bruke Maskinportens og Altinns API.

  • Maskinporten token

    Hvordan konstruere JWT assertion og requesten for å hente et Maskinporten token.

  • Altinn token

    Hvordan hente et Altinn autentiseringstoken basert på et Maskinporten token.

  • Hente Reportee ID

    Hvordan konvertere et fødsels- eller organisasjonsnummer til en Altinn Reportee ID

  • HAL+JSON modeller

    Hvordan lage JSON modeller for Rights, Roles, og RightHolder

  • Konvertere HAL+JSON

    Et eksempel på hvordan man kan lage en tilpasset HAL+JSON konverterer for å serialisere og deserialisere lister av rettigheter med System.Text.Json.

  • Hente delegeringer

    Hvordan hente roller og rettigheter som er delegert til en person for en organisasjon.

  • Nye delegeringer

    Hvordan delegere nye rettigheter til en person.

  • Fjerne delegeringer

    Hvordan trekke rettigheter en person har fått.