Versions Compared

Key

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

...

EPJ oppretter en LaunchContext som tildeles en unik identifikator og assosieres med client_id for SMART-applikasjonen. Konteksten består av:

Parametere

patient

Image Removed

Status
colourGreen
titlePåkrevet

Den logiske logiske ressursidentifikatoren for pasienten

practitioner

Image Removed

Status
colourBlue
titlevalgfri

Den logiske ressursidentifikatoren for helsepersonellet som benytter applikasjonen

encounter

Image Removed

Status
colourBlue
titlevalgfri

Den logiske ressursidentifikatoren for konsultasjonen

...

I praksis er dette en URL til webapplikasjonen. Eksempel: Location: https://app/launch?iss=https%3A%2F%2Fehr%2Ffhir&launch=xyz1

Parametere

iss

Image Removed

Status
colourGreen
titlePåkrevet

Identifiserer EPJens FHIR endepunkt. Web-applikasjonen benytter dette endepunktet for å skaffe ytterligere detaljer EPJen, inkludert URLen til autorisasjonserveren

launch

Image Removed

Status
colourGreen
titlePåkrevet

Ikke-transparent identifikator for denne spesifikke oppstartsekvensen. Dette parameteret skal kommuniseres tilbake til EPJen på autorisasjonstidspunktet og legges ved som et launch-parameter (se eksempel ovenfor).

...

Applikasjonen skal deretter gjøre en forespørsel mot authorize endepunktet med følgende parametere:

Parametere

response_type

Image Removed

Status
colourGreen
titlePåkrevet

Fiksert verdi code.

client_id

Image Removed

Status
colourGreen
titlePåkrevet

Klientens identifikator.

redirect_uri

Image Removed

Status
colourGreen
titlePåkrevet

Må samsvare med en av de forhåndsregistrerte redirect URLene for klienten.

launch

Image Removed

Status
colourGreen
titlePåkrevet

Må samsvare med den mottatte launch-parameteren fra EPJ.

scope

Image Removed

Status
colourGreen
titlePåkrevet

Applikasjonen angir ved hjelp av parameteren scope hvilken aksess den trenger til helsedata. Dette inkluderer kliniske scope som patient/*.read, openid, fhirUser, samt et launch scope som indikerer at applikasjonen ønsker den allerede etablerte launch-konteksten fra EPJen.

state

Image Removed

Status
colourGreen
titlePåkrevet

Ikke-transparent verdi satt av klienten for å opprettholde tilstanden mellom forespørsel og responsen. Autorisasjonsserveren inkluderer verdien når den dirigerer nettleseren tilbake til klienten. Parameteren skal benyttes for å forhindre cross-site request forgery og session fixation attacks.

aud

Image Removed

Status
colourGreen
titlePåkrevet

URL til EPJen sin ressursserver (FHIR-endepunkt). Denne parameteren skal motvirke lekkasje av genuine bearer tokens til en falsk ressursserver. I kontekst av gjeldende bruksscenario skal verdien i aud parameteren være den samme som var satt i iss parameteren.

...

Autorisasjonen avgjøres av EPJens autorisasjonsserver som potensielt kan kreve at sluttbrukeren samtykker til autorisasjonen. Autorisasjonsserveren håndhever tilgangsregler basert på lokale tilgangsregler og ev. input fra sluttbruker. EPJen avgjør til slutt om applikasjonen skal tillates eller nektes tilgang. Avgjørelsen kommuniseres tilbake til applikasjonen ved at EPJens autorisasjonsserver godkjenner forespørselen og returnerer en autorisasjonskode, eller nekter tilgang og returner en feilkode/-respons, se seksjon 4.1.2.1 i RFC6749. Autorisasjonskoder har kort levetid, vanligvis utløper de i løpet av ett minutt. Koden sendes til applikasjonen når EPJens autorisasjonsserver navigerer til applikasjonens redirect_uri med følgende parametere:

Parametere

code

Image Removed

Status
colourGreen
titlePåkrevet

Autorisasjonskoden generert av autorisasjonsserveren. Autorisasjonskoden skal utløpe kort tid etter at den er utstedt for å begrense risikoen for lekkasjer

state

Image Removed

Status
colourGreen
titlePåkrevet

Eksakt verdi slik den var mottatt fra klienten

...

For såkalte public apps er autentisering ikke mulig siden klienten mangler en secret og kan derfor ikke bevise sin identitet når den utfører et kall. Ende-til-ende systemet kan fortsatt være sikkert siden klienten aksesseres fra et kjent HTTPS beskyttet endepunkt håndhevet av redirect_uri parameteret i konfigurasjonen. For såkalte confidential apps er det påkrevet å sette en Authorization header som benytter HTTP Basic authentication, brukernavnet vil være applikasjonens client_id og passordet er applikasjonens client_secret, se eksempel.

Parametere

grant_type

Image Removed

Status
colourGreen
titlePåkrevet

Fiksert verdi: authorization_code

code

Image Removed

Status
colourGreen
titlePåkrevet

Autorisasjonskoden applikasjonen mottok fra autorisasjonsserveren sitt authorization-endepunkt

redirect_uri

Image Removed

Status
colourGreen
titlePåkrevet

Den samme redirect_uri som ble benyttet i den initiale autorisasjonsforespørslen

client_id

Image Removed

Status
colourYellow
titlebetinget

Påkrevet for public apps, utelates for confidential apps

EPJens autorisasjonsserver skal returnere  et JSON-objekt som inkluderer et tilgangstoken eller en beskjed som indikerer at tilgangsforespørslen ikke ble godkjent. JSON-strukturen inkluderer følgende parametere:

Parametere

access_token

Image Removed

Status
colourGreen
titlePåkrevet

Tilgangstoken utstedt av autorisasjonsserveren

token_type

Image Removed

Status
colourGreen
titlePåkrevet

Fiksert verdi: bearer

expires_in

Image Removed

Status
colourBlue
titleanbefales

Tilgangstokenet sin levetid i sekunder, etter dette vil tilgangstokenet ikke bli akseptert av ressursserveren

scope

Image Removed

Status
colourGreen
titlePåkrevet

Aksesstilgang som er autorisert, legg merke til at dette kan være forskjellig fra det som applikasjonen initialt ba om

id_token

Image Removed

Status
colourBlue
titlevalgfri

Dersom forespurt inneholder informasjon om pålogget bruker

refresh_token

Image Removed

Status
colourBlue
titlevalgfri

Et token som kan benyttes til å forespørre autorisasjonsserveren om et nytt tilgangstoken med det samme nivået eller subsett av den opprinnelige autorisasjonstildelingen

...