Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

PAR (Pushed Authorization Requests) er en mekanisme som gir HelseID-klienter mulighet for å la informasjonen i en brukerpålogging fra klient til HelseID gå direkte fra klienten til HelseID, snarere enn gjennom nettleseren.

Historisk flyt i OAuth 2.0/OpenID connect

Når en klient vil logge på en bruker ved hjelp av HelseID, har flyten Authorization Code blitt brukt. Denne flyten foregår på den måten at klienten dirigerer brukeren til nettleseren for å la brukeren få tilgang til /authorize-endepunktet (heretter kalt autorisasjons-endepunktet) på HelseID-tjeneren. I kallet til autorisasjons-endepunktet vil klienten sende ved informasjon om hvilket type kall det er snakk om (klientens identitet, hvilken identitetsleverandør som skal benyttes, organisasjonsnumre etc.). Diagrammet under viser denne flyten:

...

  • Flyten gir ingen mekansisme for å sikre konfidensialiteten til request-parametrene. Selv om TLS brukes for å sikre autorisasjons-endepunktet, vil informasjonen gå gjennom nettleseren, og query-strengen kan lekkes, blant annet til logger.

  • Flyten (uten bruk av Request Object) gir ingen beskyttelse for kryptografisk integritet og autentisitet for innholdet. En angriper kan for eksemel kunne endre scopes eller endre informasjon om organisasjonsnummer. HelseID har tiltak for denne typen angrep, men det gir økt robusthet å hindre muligheten for at de kan nyttiggjøres av en angriper.

  • Med alt innholdet i request-URL-en, kan den bli svært stor, slik at et GET-verb ikke kan brukes. Da må nettleseren bruke POST-verbet, og det gjør utviklingen av koden til kallet tungvindt.

Ny flyt (Pushed Authorization Requests / PAR)

PAR gjør det enklere å fjerne problematikken slik som den er beskrevet ovenfor.

...