Versions Compared

Key

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

...

Ved behandling af en forespørgsel om udstedelse af ID-kort hos en STS, gennemgås en række skridt. Forløbet er skitseret forsimplet nedenfor, med de skridt der har primær relevans i forhold til diagnosticering af udstedelse. Hvert skridt kan føre til en afvisning af forespørgslen, mens succesfuld verifikation leder til signering og dermed udstedelse af et ID-kort.

Image RemovedImage Added

Verificeret forespørgsel

...

Ingen bruger data for CPR
STS svarfaultcode = wst:RequestFailed
faultactor = dk:sosi:sts:bst2sosi
faultstring = Could not find userData for input CPR.
ÅrsagBruger
ForklaringDer blev ikke fundet bruger informationer for det medsendte CPR nummer.
LøsningUndersøg om det medsendte CPR nummer er korrekt.STS svarfaultcodefaultactor
faultstring
ÅrsagForklaringLøsning

Validering af rolle/autorisation

...

Flere nationale roller fundet
STS svarfaultcode = wst:FailedAuthentication
faultactor = dk:sosi:sts:autorisation
faultstring = Authentication failed: multiple national roles found (<nationalRoles>)
ÅrsagAnvender
ForklaringForespørgslen indeholder ikke en national rolle eller autorisation, og der blev fundet mere end én national rolle tilknyttet CPR-nummeret for brugeren.
Løsning

Angiv i forespørgslen hvilken national rolle der skal bruges. Anvend en af de mulige roller (nationalRoles) fra fejlteksten.

Alternativt kan bruger rollen sættes til "urn:dk:healthcare:no-role" i forespørgslen for at angive at der ikke ønskes en rolle eller autorisation på ID-kortet.

Autorisation og rolle i samme forespørgsel
STS svarfaultcode =  wst:InvalidRequest
faultactor =  dk:sosi:sts:bst2sosi
faultstring =  The request was invalid or malformed: Only one of UserAuthorizationCode or UserRole is allowed in request.
ÅrsagAnvender
ForklaringDet er for denne omveksling ikke tilladt at specificere både UserAuthorizationCode og UserRole i samme forespørgsel.
LøsningFjern enten UserAuthorizationCode eller UserRole fra forespørgslen.

Validering af claims

Manglende CPR claim
STS svarfaultcode = wst:InvalidRequest
faultactor = dk:sosi:sts:*
faultstring = CPR claim missing
ÅrsagAnvender
ForklaringDen medsendte forespørgsel indeholder ikke et CPR claim.
LøsningFremsend en ny forespørgsel med et gyldigt CPR claim (og overvej at stramme op på klient systemets input validering).

...

Fejl i validering af OnBehalfOf claim
STS svarfaultcode = wst:InvalidRequest
faultactor = dk:sosi:sts:its
faultstring = Unable to get procurations
ÅrsagSTS
ForklaringSTS'en kunne ikke validere gyldigheden af den medsendte påståede fuldmagt.
LøsningKontakt NSP support for at få fejlen undersøgt nærmere.
Ugyldige claims
STS svarfaultcode =  wst:InvalidRequest
faultactor =  dk:sosi:sts:*
faultstring =  The request was invalid or malformed: Request contains invalid claims. Valid claims are: <validClaims>
ÅrsagAnvender
ForklaringForespørgslen indeholder claims som ikke kan bruges til denne type omveksling.
LøsningFjern claims fra forespørgslen, som ikke findes i listen af gyldige claims (validClaims).

Validering af audience

Angivelse af audience mangler
STS svarfaultcode = wst:InvalidRequest
faultactor = dk:sosi:sts:its
faultstring = Audience is missing
ÅrsagAnvender
ForklaringDen medsendte forespørgsel indeholder ikke angivelse af et audience (som det udstedte token kan benyttes til)
LøsningAnvendersystemet tilrettes til at medsende audience (dette vil ofte være https://fmk).

...

Ugyldig percistence level af MOCES3 certifikat
STS svarfaultcode = wst:FailedAuthentication
faultactor = dk:sosi:sts
faultstring = Authentication failed: signed with unsupported certificate - persistence level of moces3 certificates must be global
ÅrsagAnvender
Forklaring

Der er benyttet et MOCES3 certifikat, som ikke har global persistence level, til at signere ID-kortet.

LøsningSigner ID-kortet med et MOCES3 certifikat med global persistence level
Manglende elementer i signaturBruger id-kort signeret med VOCES/FOCES certifikat
STS svarfaultcode = wst:AuthenticationBadElementsBadRequest
faultactor = dk:sosi:sts:seal
faultstring = Insufficient Digest Elements: *The specified RequestSecurityToken is not understood: ID-Card is a User ID-Card signed with VOCES/FOCES
ÅrsagAnvender
ForklaringDen medsendte forespørgsel indeholder en xml signatur med manglende elementer.
LøsningUndersøg om noget er gået galt i forbindelse med signeringen af forespørgslen.

Validering af token

Bruger ID-kortet er signeret med et VOCES eller FOCES certifikat. STS'en tillader kun Bruger ID-kort signeret med et MOCES certifikat.
LøsningBenyt et MOCES certifikat til at signere ID-kortet
Token ikke udstedt til borger
Manglende elementer i signatur
STS svarfaultcode = wst:
InvalidRequest
AuthenticationBadElements
faultactor = dk:sosi:sts:seal
faultstring = Insufficient Digest Elements: *
ÅrsagAnvender
ForklaringDen medsendte forespørgsel indeholder en xml signatur med manglende elementer.
LøsningUndersøg om noget er gået galt i forbindelse med signeringen af forespørgslen.

Validering af token

Token ikke udstedt til borger
STS svarfaultcode = wst:InvalidRequest
faultactor = dk:sosi:sts:its
faultstring = Token not issued to a citizen
ÅrsagAnvender
ForklaringDet indeholdte token er ikke udstedt på baggrund af en borgers certifikat. Kun borger-certifikater kan anvendes
LøsningAnvend et token udstedet på baggrund af et borger certifikat (POCES).

...

Ukendt token issuer
STS svar

faultcode = wst:InvalidRequest eller wst:RequestFailed
faultactor = dk:sosi:sts:its eller dk:sosi:sts
faultstring = En af følgende:

  • Unknown issuer: <issuer>
  • The specified request failed: Could not find IdpConfiguration for issuer: <issuer>
  • The specified request failed: IdpConfig cannot be null in Bootstrap2IdwsConfig
ÅrsagAnvender, STS
ForklaringUdstederen (issuer) af det medsendte token er ikke kendt af STS'en
Løsning

Undersøg om det medsendte token har sat issuer korrekt.

Hvis udstederen af tokenet er korrekt, skal NSP support kontaktes for at få STS'en konfigureret med denne udsteder.

...

Manglende certsubdn på jwt token
STS svarfaultcode = wst:InvalidRequest
faultactor = dk:sosi:sts:its
faultstring = JWT claim missing: certsubdn
ÅrsagAnvender
ForklaringMedsendte jwt token mangler feltet "certsubdn"
LøsningUdsted et nyt jwt token, hvor feltet "certsubdn" er inkluderet.
Manglende IT System på token
STS svar

faultcode = wst:InvalidRequest
faultactor = dk:sosi:sts:nbo


faultstring =

eller dk:sosi:sts:bst2sosi
faultstring = En af følgende:

  • The request was invalid or malformed: IT System must be specified.
  • The request was invalid or malformed: ITSystemName is required in request.
ÅrsagAnvender
ForklaringFeltet "ITSystemName" er påkrævet på det medsendte token, på for denne type forespørgsel.
LøsningLav en ny forespørgsel, hvor "ITSystemName" er specificeret på tokenet.
Ugyldig basic privileges
STS svarfaultcode = wst:RequestFailed
faultactor = dk:sosi:sts:bst2sosi
faultstring = BST2SOSI assertion contains an invalid basic privilege profile
ÅrsagAnvender
Forklaring"privileges" på det medsendte bootstrap token har et ugyldigt format og kunne ikke læses af STS'en.
LøsningFjern "privileges" feltet eller ret det til et gyldigt format.

...

Manglende token i forespørgsel
STS svarfaultcode = wst:RequestFailed
faultactor = dk:sosi:sts
faultstring = The specified request failed: No assertion element found on request.
ÅrsagAnvender
ForklaringForespørgslen mangler et bootstrap token (assertion)
LøsningUndersøg hvorfor forespørgslen er blevet lavet uden et bootstrap token
STS svarfaultcode
faultactor
faultstring
ÅrsagForklaringLøsning

Validering af Assurance/Authentication Level

Manglende token attribut
Ugyldig assurance level type
STS svarfaultcode = wst:RequestFailedInvalidRequest
faultactor = dk:sosi:sts:its*
faultstring = The request was invalid or malformed: Mandatory '<attributeID>' SAML attribute (<attributeName>) is missing
ÅrsagAnvender
ForklaringEn påkrævet attribut manger i det medsendte token.
LøsningLav en ny forespørgsel hvor den påkrævede attribut er inkluderet i tokenet.

Validering af Assurance/Authentication Level

Ugyldig assurance level type
STS svar

faultcode = wst:RequestFailed
faultactor = dk:sosi:sts:its
faultstring = En af følgende:

  • BST2IDWS assertion
En af følgende:
  • BST2IDWS assertion do not have a valid type of AssuranceLevel. Type:<type>
  • BST2SOSI assertion do not have a valid type of AssuranceLevel. Type:<type>
ÅrsagAnvender
Forklaring

Det medsendte token har en assurance level type, der ikke kan benyttes på et token af denne type. Der findes to assurance level typer:

  • NIST (1, 2, 3, 4, 5)
  • NSIS (Low, Substantial, High)

LøsningLav en ny forespørgsel hvor assurance level typen er skiftet til den anden type.

...

Ugyldigt id-kort med authentication level 4
STS svarfaultcode = wst:BadRequest
faultactor = dk:sosi:sts
faultstring = The specified RequestSecurityToken is not understood: ID-Card is not a User ID-Card
ÅrsagAnvender
ForklaringDet medsendte ID-kort har authentication level 4, men er ikke et Bruger ID-kort. 
Løsning

Hvis der ønskes et Bruger ID-kort: Ret ID-kortet så det matcher et Bruger ID-kort

Hvis der ønskes et System ID-kort: Ret authentication level til 3

STS svarfaultcode
faultactor
faultstring
ÅrsagForklaringLøsning

Validering af IDValidering af ID-kort

Ugyldig ID-kort version
STS svarfaultcode = wst:RequestFailed
faultactor = dk:sosi:sts:seal
faultstring = The specified request failed IDCard version ’*’ not supported. Supported versions are: [1.0.1,1.0]
ÅrsagAnvender
ForklaringForespørgslen indeholder et ID-kort med en version der ikke understøttes af STS (se DGWS for detaljer).
LøsningKlienten rettes, så kun understøttede ID-kort versioner anvendes. Nyere versioner af både Seal.Java og Seal.NET producerer ID-kort med korrekt version.

...

CVR uoverensstemmelse
STS svarfaultcode = wst:FailedAuthentication
faultactor = dk:sosi:sts
faultstring = Authentication failed: cvr mismatch
ÅrsagAnvender
ForklaringCVR i ID-kortet svarer ikke til CVR i certifikatets subject serial number.
Løsning
  1. Verificer CVR nummer i STS forespørgsel
  2. Find CVR i certifikatet
Bruger id-kort signeret med VOCES/FOCES certifikat
STS svarfaultcode = wst:BadRequest
faultactor = dk:sosi:stsfaultstring = The specified RequestSecurityToken is not understood: ID-Card is a User ID-Card signed with VOCES/FOCES
ÅrsagAnvender
ForklaringBruger ID-kortet er signeret med et VOCES eller FOCES certifikat. STS'en tillader kun Bruger ID-kort signeret med et MOCES certifikat.
ÅrsagAnvender
ForklaringCVR i ID-kortet svarer ikke til CVR i certifikatets subject serial number.
Løsning
  1. Verificer CVR nummer i STS forespørgsel
  2. Find CVR i certifikatet
LøsningBenyt et MOCES certifikat til at signere ID-kortet
Løsning
Ugyldigt ID-kort i Identity Token Request
STS svarfaultcode = wst:InvalidRequest
faultactor = dk:sosi:sts:its
faultstring = The request was invalid or malformed: identity token service only support user card.
ÅrsagAnvender
ForklaringIdentity Token Request indeholder en ID-kort, som ikke er et gyldigt Bruger ID-kort.
Løsning

Undersøg ID-kortet i forespørgslen for fejl.

Undersøg f.eks. om ID-kortet indeholder UserInfo.

STS svarfaultcode
faultactor
faultstring
ÅrsagForklaringLøsning
STS svarfaultcode
faultactor
faultstring
ÅrsagForklaring