Autentisering
I NVDB (Nasjonal vegdatabank), er det meste av dataene åpent tilgjengelige og krever ingen autentisering. Imidlertid er det visse unntak:
Autentiseringskrav for Vegobjekttyper
- Noen spesifikke vegobjekttyper krever autentisering. Disse er identifisert i datakatalogen med flagget
sensitiv: true. - Eksempler på skjermede vegobjekttyper inkluderer: 871, 890, 892, 894, 895, 901, 903, og 905.
Autentiseringskrav for Egenskaper
- Visse egenskaper krever også autentisering, markert i datakatalogen med
sensitivitet: 1|2|3. - Tilgang til disse egenskapene blir gitt dersom brukeren har tilgang til den tilsvarende vegobjekttypen eller har tildelt en spesifikk rolle. For eksempel, rollen
nva=0_sensitive_roleXder X representerer sensitivitetsnivået (1, 2, eller 3).
Tilgangsstyring
- For å få tilgang til skjermede vegobjekttyper, må brukere tildeles tilgangsrettigheter. Dette gjøres gjennom systemet tilgangskontrolltjenesten til NVDB.
Det er påkrevd å sende med X-Client headeren i alle forespørsler mot NVDB API. Denne headeren skal inneholde en unik identifikator for applikasjonen som gjør forespørselen.
Hente token via landingsside
Den enkleste måten å få tilgang til et token er via landingssiden nvdbapiles.atlas.vegvesen.no:
- Logg inn ved å klikke på innloggingsknappen oppe i høyre hjørne
- For eksterne brukere: Innlogging skjer via ID-porten med to-faktor autentisering
- For ansatte: Innlogging skjer via Statens vegvesen sin innloggingsløsning
- Når du er logget inn, får du tilgang til en "Kopier token"-knapp som legger tokenet ditt i utklippstavlen
- Tokenet brukes i
Authorization-headeren i dine API-forespørsler
Eksempel på bruk av token
curl --location 'https://nvdbapiles.atlas.vegvesen.no/vegobjekter/871' \
--header 'Authorization: Bearer <ditt-token-fra-utklippstavle>' \
--header 'X-Client: MinApplikasjon'
Bruk av token i Swagger
Du kan også bruke tokenet direkte i Swagger UI for å teste API-forespørsler:
- Gå til Swagger UI
- Klikk på Authorize-knappen (låseikonet) øverst på siden
- Skriv inn
<ditt-token>i feltet og klikk Authorize - Nå vil alle forespørsler du gjør via Swagger UI inkludere tokenet automatisk
Hente token for tjenestebrukere via API
Tjenestebrukere kan autentisere seg direkte via API-et ved å sende brukernavn og passord.
Autentisering
Mønster
POST /auth/api/v1/auth/autentiser
Eksempel
curl --location 'https://nvdbapiles.atlas.vegvesen.no/auth/api/v1/auth/autentiser' \
--header 'accept: application/json' \
--header 'X-Client: MinApplikasjon' \
--header 'Content-Type: application/json' \
--data '{
"brukernavn": "min-tjenestebruker",
"passord": "hemmeligpassord",
"brukertype": "TJENESTEBRUKER"
}'
Responsen inneholder id_token, access_token og refresh_token. Bruk id_token som Bearer-token i Authorization-headeren.
Fornye token
For å fornye et token sender du refresh_token fra den opprinnelige autentiseringen.
Mønster
POST /auth/api/v1/auth/refresh
Eksempel
curl --location 'https://nvdbapiles.atlas.vegvesen.no/auth/api/v1/auth/refresh' \
--header 'accept: application/json' \
--header 'X-Client: MinApplikasjon' \
--header 'Content-Type: application/json' \
--data '{
"refresh_token": "<din-refresh-token>",
"brukertype": "TJENESTEBRUKER"
}'