REST-forespørsler med autentiserings-cookie

Hvordan bruke Postman til å sende REST-forespørsler med cookie-basert autorisasjon fra Altinns REST-API innlogging

Forarbeid

I forespørselen som får autentiserings-cookien som svar skal vi bruke Virksomhetssertifikat. Det er derfor nødvendig å ha importert sertifikatet i Postman slik vist i Virksomhetssertfikat-leksjonen.

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.

  1. Velg POST /authentication/authenticatewithpassword-forespørselen fra Altinn/user/Authentication-mappen i Altinn-collection.
  2. I Params-panelet:
    • Slå på ForceEIAuthentication query-parameteret.
  3. I Headers-panelet:
    • Sørg for at Content-Type er satt til application/hal+json (eller application/json).
    • ApiKey og Accept er ikke nødvendig på denne forespørselen.
  4. I Body-panelet:
    • Fyll inn brukernavn og passordet til virksomhetsbrukeren i følgende JSON-objekt:
    {
        "UserName": "brukernavn her",
        "UserPassword": "passord her"
    }
    
  5. Klikk på Send

Hvis svaret man mottar har status 200 OK så skal svaret ha en spesiell header, kalt Set-Cookie. Se bildet under.

Set-Cookie header

Set-Cookie header

Når Postman mottar denne headeren så vil Postman opprette en ny cookie med verdien som den mottok. Denne cookien har navn .ASPXAUTH, og vil bli sendt sammen med fremtidige forespørsler. Man kan se hvilke cookies som er aktive i Postman ved å klikke på Cookies under Send knappen. Se bildet under.

Manage Cookies

Manage Cookies

Hvis man ønsker å bruke andre autentiserings- eller autorisasjonsmekanismer mot Altinns API, enn cookie-basert, så er det viktig å slette .ASPXAUTH cookien. Bruk av flere slike mekanismer samtidig vil ofte føre til feil.

For å demonstrere Cookie-basert autorisasjon mot et endepunkt på Sluttbruker-API, skal vi bruke samme forespørsel som i de tidligere leksjonene.

  1. Velg GET my/profile-forespørselen fra Altinn/user/Profile-mappen i Altinn-collection.
  2. I Authorization-panelet:
    • Sett Type til No Auth eller Inherit auth from parent.
  3. Sjekk at følgende er satt i Headers-panelet:
    1. ApiKey: {{ApiKey}}
    2. Accept: application/hal+json
  4. Klikk på Cookies og sjekk at .ASPXAUTH-cookien ligger under TT02.
  5. Klikk på Send

Hvis alt har gått bra skal man motta et svar med status 200 OK som inneholder profilinformasjon til virksomhetsbrukeren. Merk at denne forespørselen ikke krevde virksomhetssertifikat og ?ForceEIAuthentication-parameter, selv om dette ble brukt til å autorisere Authentication-endepunktet for å hente cookien.

Se også