Korleis skal du validere tokens utstedt av ID-porten/maskinporten
Edit me
Utviklere som integrerer mot ID-porten / Maskinporten forventes å kjenne til RFC6819: trusselmodellen for Oauth2 og legge denne til grunn for sine risikovurderinger. Difi kommer ikke til å gjenta valideringstiltak som allerede står i spec’ene , men vi vil trekke fram følgende overordna anbefalinger:
1) Bruk et anerkjent IAM-produkt / bibliotek for integrasjonen. 2) Ha en trygg håndtering av nøkler slik at disse ikke kommer på avveie
id-token
Dette er presist beskrive i OIDC-spesifikasjonen kap 3.1.5.3 (samt kap 3.2.2.11 for implicit-flyt og 3.3.2.12/3.3.3.7 for hybrid flyt )
access_token
https://tools.ietf.org/html/rfc6749?#section-5.1
- Valider token teknisk ihht Oauth2 og evt. JWT-spec. Viss den feiler -> forkast
- iss må være ID-porten
- signatur på self-contained access-token / introspection respons må stemme med sertifikatet publisert på ID-porten sitt .jwks-endepunkt
- dersom introspection, valider at aud til deg selv
- dersom self-contained access token, valider at et eventuelt aud-claim er til deg selv som api-tilbyder
- Sjekk token-type (
type
), om det er person-innlogging eller virksomhetsinnlogging- dersom virksomhet:
- finn konsument frå
consumer_orgno
- dersom du har behov for å logge hvilken levendør, finnes dette i
supplier_orgno
- finn konsument frå
- dersom person:
- fødseslnummer finnes i ‘pid’-claimet
- dersom pseudonymisert access_token finner du fødselsnummer ved å utføre introspection mot ID-porten
- fødseslnummer finnes i ‘pid’-claimet
- dersom virksomhet:
1.