...
For å få utlevert informasjon om resepter i nettutleverers portal må kunden autentisere seg. Autentiseringen utføres gjennom pålogging i ID-porten på høyeste sikkerhetsnivå (nivå 4idporten-loa-high).
Historisk sett har ID-porten benyttet SAML2-standarden. Denne skal fases ut og erstattes av OAuth2.0/OIDC.
...
Validere at tokenet er en signert jwt
Validere at tokenet er utstedt av ID-porten (
iss
claimet er som idporten beskriver)I test
https://test.idporten.no
I produksjon
https://idporten.no
Validere at tokenet ikke er utgått (
exp
claim)Validere at tokenet er signert av ID-porten (er tokenet signert med privatnøkkelen som tilsvarer den offentlig nøkkelen id-porten referert til fra well-known)
Validere at tokenet er tiltenkt reseptformidleren (audience claim “aud”)
for alle test miljø:
http://nhn.test2-na.reseptformidleren.net/NA/NAWebServiceSoapHttpPort
for prod:
http://nhn.prod-na.reseptformidleren.net/NA/NAWebServiceSoapHttpPort
Validere at tokenet kun har følgende scope: "eresept:nettutleverer" og "openid". Dette gjelder for M9NA1 og M9NA3.
Nettutlevererens identitet skal verifiseres og stemme over ens i M9NA1/M9NA3 og OIDC token:
Nettapotekets Nettutleverer sin juridiske enhet sitt organisasjonsnummer skal være i ISO6523 format i "consumer" claimet, se på ID-porten sin dokumentasjon om access token for mer info.
Internt oppslag i Reseptformidlerens register over aktører skal gjøres for å validere at organisasjonsnummeret i nettapotekets nettutleverer sitt virksomhetssertifikat stemmer.
Validerer at identiteten angitt som pålogget kunde i M9NA1/M9NA3 er den samme identiteten som angitt i OIDC tokenets
pid
claim. Identitet er enten fødselsnummer eller d-nummer.Validerer at tokenet har sikkerhetsnivå 4 (claim
acr
eridporten-loa-high
), dvs kunden har logget inn med bankid.Validerer i tokenet at klienten (nettutlevereren) har autentisert seg mot ID-porten med virksomhetssertifikat eller private_key_jwt (d.v.s. integrasjonen mot ID-porten er med "private_key_jwt") effektivt at
client_amr
claimet ervirksomhetssertifikat
ellerprivate_key_jwt
.
...
Expand | |||||||||
---|---|---|---|---|---|---|---|---|---|
| |||||||||
Merk at Det tilsvarende rå access tokenet er en jwt (json web token) som sett under Rå access token jwt
For å være tydelige forventer reseptformidleren at det rå access token jwt’en er base64 enkodet. Altså:
|
Ikke i bruk! - SAML basert verifisering
Info |
---|
SAML basert verifisering i ID-porten fases ut og erstattes av OAuth2.0/OIDC. |
...
Validere SAML Assertion mot skjema
Validere at SAML Assertion er utstedt av ID-porten
Validere at tidsstempel i SAML Assertion er gyldig (NotBefore og NotOnOrAfter i Conditions, innenfor et tidsintervall konfigurert i Reseptformidleren)
Validere at signaturen er gyldig for SAML Assertion
Validere sertifikatet, ved å validere både signatursertifikatet og hele sertifikatkjeden:
Sertifikatet er utstedt av godkjent CA
Sertifikatet har gyldig tid og dato (sjekk ‘not before’ og ‘not after’)
Sertifikatet har ikke blitt revokert
Sertifikatet har korrekt «Key usage» : digitalSignature (0) eller contentCommitment(1)
Signatursertifikatet er utstedt til godkjent SAML Assertion utsteder: Difis orgnummer skal ligge i SERIALNUMBER
Nettapotekets Nettutleverer sin identitet skal verifiseres og stemme over ens i M9NA1/M9NA3 og SAML Assertion:
Nettapoteket Nettutleverer blir autentisert gjennom å kontrollere signaturen på meldingen M9NA1/M9NA3. Dette virksomhetssertifikatet skal inneholde apotekets utleverers organisasjonsnummer på standard måte; Det vil si at organisasjonsnummeret ligger i OU-feltet på Buypass-sertifikater (ikke avklart for Commfides-sertifikater)
Nettapotekets Nettutleverer sin interne ID-porten-identitet ligger i SAML Assertion i feltet Audience (Audience i Conditions). Som en del av registreringsprosessen for nettapotek nettutleverer må denne identiteten oppgis til e-helse, og registreres i Reseptformidleren sammen med nettapotekets nettutleverer HER-ID og organisasjonsnummer.
Internt oppslag i Reseptformidlerens register over aktører skal gjøres for å validere at organisasjonsnummeret i nettapotekets nettutleverer sitt virksomhetssertifikat stemmer over ens med nettapotekets nettutleverer sin ID-porten identifikator Audience.
Identiteten angitt som pålogget kunde i M9NA1/M9NA3 er den samme identiteten som angitt i SAML Assertion (<saml:Attribute Name="uid">). Identitet er enten fødselsnummer eller d-nummer
SAML Assertion skal ha sikkerhetsnivå 4(<saml:Attribute Name="SecurityLevel">)
...