Page History
...
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.
Verificeret forespørgsel
...
| Ingen bruger data for CPR | ||||||
|---|---|---|---|---|---|---|
| STS svar | faultcode = wst:RequestFailed faultactor = dk:sosi:sts:bst2sosi faultstring = Could not find userData for input CPR. | |||||
| Årsag | Bruger | |||||
| Forklaring | Der blev ikke fundet bruger informationer for det medsendte CPR nummer. | |||||
| Løsning | Undersøg om det medsendte CPR nummer er korrekt. | STS svar | faultcode = faultactor = faultstring = | Årsag | Forklaring | Løsning |
Validering af rolle/autorisation
...
| Flere nationale roller fundet | |
|---|---|
| STS svar | faultcode = wst:FailedAuthentication faultactor = dk:sosi:sts:autorisation faultstring = Authentication failed: multiple national roles found (<nationalRoles>) |
| Årsag | Anvender |
| Forklaring | Forespø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. |
| STS svar | faultcode = faultactor = faultstring = | Årsag | Forklaring | Løsning |
Validering af claims
| Autorisation og rolle i samme forespørgsel | |
|---|---|
| Manglende CPR claim | |
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:*bst2sosi faultstring = CPR claim missingThe request was invalid or malformed: Only one of UserAuthorizationCode or UserRole is allowed in request. |
| Årsag | Anvender |
| Forklaring | Det er for denne omveksling ikke tilladt at specificere både UserAuthorizationCode og UserRole i samme forespørgsel. |
| Løsning | Fjern enten UserAuthorizationCode eller UserRole fra forespørgslen. |
Validering af claims
| Manglende CPR claim | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:* faultstring = CPR claim missing |
| Årsag | Anvender |
| Forklaring | Den medsendte forespørgsel indeholder ikke Den medsendte forespørgsel indeholder ikke et CPR claim. |
| Løsning | Fremsend 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 svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:its faultstring = Unable to get procurations |
| Årsag | STS |
| Forklaring | STS'en kunne ikke validere gyldigheden af den medsendte påståede fuldmagt. |
| Løsning | Kontakt NSP support for at få fejlen undersøgt nærmere. |
| Ugyldige claims | |||||
|---|---|---|---|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:* faultstring = | Årsag | Forklaring | Løsning | The request was invalid or malformed: Request contains invalid claims. Valid claims are: <validClaims> |
| Årsag | Anvender | ||||
| Forklaring | Forespørgslen indeholder claims som ikke kan bruges til denne type omveksling. | ||||
| Løsning | Fjern claims fra forespørgslen, som ikke findes i listen af gyldige claims (validClaims). | ||||
Validering af audience
| Angivelse af audience mangler | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:its faultstring = Audience is missing |
| Årsag | Anvender |
| Forklaring | Den medsendte forespørgsel indeholder ikke angivelse af et audience (som det udstedte token kan benyttes til) |
| Løsning | Anvendersystemet tilrettes til at medsende audience (dette vil ofte være https://fmk). |
...
| Ugyldig percistence level af MOCES3 certifikat | |
|---|---|
| STS svar | faultcode = wst:FailedAuthentication faultactor = dk:sosi:sts faultstring = Authentication failed: signed with unsupported certificate - persistence level of moces3 certificates must be global |
| Årsag | Anvender |
| Forklaring | Der er benyttet et MOCES3 certifikat, som ikke har global persistence level, til at signere ID-kortet. |
| Løsning | Signer ID-kortet med et MOCES3 certifikat med global persistence level |
| Manglende elementer i signaturBruger id-kort signeret med VOCES/FOCES certifikat | |
|---|---|
| STS svar | faultcode = 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 |
| Årsag | Anvender |
| Forklaring | Bruger ID-kortet er signeret med et VOCES eller FOCES certifikat. STS'en tillader kun Bruger ID-kort signeret med et MOCES certifikat. |
| Løsning | Benyt et MOCES certifikat til at signere ID-kortet |
| Manglende elementer i signatur | |
|---|---|
| STS svar | faultcode = wst:AuthenticationBadElements faultactor = dk:sosi:sts:seal faultstring = Insufficient Digest Elements: * |
| Årsag | Anvender |
| Forklaring | |
| Årsag | Anvender |
| Forklaring | Den medsendte forespørgsel indeholder en xml signatur med manglende elementer. |
| Løsning | Undersøg om noget er gået galt i forbindelse med signeringen af forespørgslen. |
...
| Token kan ikke dekrypteres | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest eller wst:RequestFailed
|
| Årsag | Anvender |
| Forklaring | Den medsendte forespørgsel indeholder et token, som er krypteret med en nøgle som ikke er kendt af STS’en |
| Løsning | Kan f.eks. skyldes manglende kryptering, kryptering med forkert nøgle, eller at der er "pillet" ved data efter kryptering. |
...
| Ukendt token issuer | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest eller wst:RequestFailed
|
| Årsag | Anvender, STS |
| Forklaring | Udstederen (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 svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:its faultstring = JWT claim missing: certsubdn |
| Årsag | Anvender |
| Forklaring | Medsendte jwt token mangler feltet "certsubdn" |
| Løsning | Udsted et nyt jwt token, hvor feltet "certsubdn" er inkluderet. |
| Manglende IT System på token | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest
|
| Årsag | Anvender |
| Forklaring | Feltet "ITSystemName" er påkrævet på det medsendte token, på for denne type forespørgsel. |
| Løsning | Lav en ny forespørgsel, hvor "ITSystemName" er specificeret på tokenet. |
| Ugyldig basic privileges | |
|---|---|
| STS svar | faultcode = wst:RequestFailed faultactor = dk:sosi:sts:bst2sosi faultstring = BST2SOSI assertion contains an invalid basic privilege profile |
| Årsag | Anvender |
| Forklaring | "privileges" på det medsendte bootstrap token har et ugyldigt format og kunne ikke læses af STS'en. |
| Løsning | Fjern "privileges" feltet eller ret det til et gyldigt format." feltet eller ret det til et gyldigt format. |
| Manglende RID eller UUID på bootstrap token | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:bst2sosi faultstring = BST2SOSI assertion must contain one of the attributes: '<ridAttribute>' or '<uuidAttribute>' |
| Årsag | Anvender |
| Forklaring | For den medsendte token type, kræves enten et RID nummer eller et UUID |
| Løsning | Tilføj RID nummer eller UUID til medsendte token |
| Manglende Manglende RID eller UUID på bootstrap token | |
|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:bst2sosi faultstring = BST2SOSI assertion must contain one of the attributes: attribute '<ridAttribute>' or '<uuidAttribute>' |
| Årsag | Anvender |
| Forklaring | For den medsendte token type, kræves enten et RID nummer eller et UUID |
| Løsning | Tilføj RID nummer eller UUID til medsendte token |
| et UUID | |
| Løsning | Tilføj UUID til medsendte token |
| Manglende token i forespørgsel | |
|---|---|
| STS svar | faultcode = wst:RequestFailed faultactor = dk:sosi:sts faultstring = The specified request failed: No assertion element found on request. |
| Årsag | Anvender |
| Forklaring | Forespørgslen mangler et bootstrap token (assertion) |
| Løsning | Undersøg hvorfor forespørgslen er blevet lavet uden et bootstrap token |
| Manglende token attributManglende UUID på bootstrap token | ||||
|---|---|---|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:bst2sosi* faultstring = BST2SOSI assertion must contain the attribute The request was invalid or malformed: Mandatory '<uuidAttributeattributeID>' SAML attribute (<attributeName>) is missing | |||
| Årsag | Anvender | |||
| Forklaring | For den medsendte token type, kræves et UUID | |||
| Løsning | Tilføj UUID til medsendte token | |||
| STS svar | faultcode = faultactor = faultstring = | |||
| En påkrævet attribut manger i det medsendte token. | ||||
| Løsning | Lav en ny forespørgsel hvor den påkrævede attribut er inkluderet i tokenet. | Årsag | Forklaring | Løsning|
Validering af Assurance/Authentication Level
...
| Ugyldigt id-kort med authentication level 4 | |
|---|---|
| STS svar | faultcode = wst:BadRequest faultactor = dk:sosi:sts faultstring = The specified RequestSecurityToken is not understood: ID-Card is not a User ID-Card |
| Årsag | Anvender |
| Forklaring | Det 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 svar | faultcode = faultactor = faultstring = | Årsag | Forklaring | Løsning |
Validering af ID-kort
| Ugyldig ID-kort version | |
|---|---|
| STS svar | faultcode = wst:RequestFailed faultactor = dk:sosi:sts:seal faultstring = The specified request failed IDCard version ’*’ not supported. Supported versions are: [1.0.1,1.0] |
| Årsag | Anvender |
| Forklaring | Forespørgslen indeholder et ID-kort med en version der ikke understøttes af STS (se DGWS for detaljer). |
| Løsning | Klienten 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. |
...
| Ugyldigt nameId | |
|---|---|
| STS svar | faultcode = wst:BadRequest faultactor = dk:sosi:sts faultstring = The specified RequestSecurityToken is not understood: IDCard nameId must match information from certificate. |
| Årsag | Anvender |
| Forklaring | nameId på ID-kortet indeholder certifikat informationer, som ikke matcher certifikatet der har signeret ID-kortet |
| Løsning |
|
| CVR uoverensstemmelse | |||
|---|---|---|---|
| CVR uoverensstemmelse | |||
| STS svar | faultcode = wst:FailedAuthentication faultactor = dk:sosi:sts faultstring = Authentication failed: cvr mismatch | ||
| Årsag | Anvender | ||
| Forklaring | CVR i ID-kortet svarer ikke til CVR i certifikatets subject serial number. | ||
| Løsning |
| ||
| Bruger id-kort signeret med VOCES/FOCES certifikat | |||
| STS svar | faultcode = wst:BadRequestFailedAuthentication faultactor = dk:sosi:sts faultstring = The specified RequestSecurityToken is not understood: ID-Card is a User ID-Card signed with VOCES/FOCES | ||
| Årsag | Anvender | ||
| Forklaring | Bruger ID-kortet er signeret med et VOCES eller FOCES certifikat. STS'en tillader kun Bruger ID-kort signeret med et MOCES certifikat. | ||
| Authentication failed: cvr mismatch | |||
| Årsag | Anvender | ||
| Forklaring | CVR i ID-kortet svarer ikke til CVR i certifikatets subject serial number. | ||
| Løsning |
| Løsning | Benyt et MOCES certifikat til at signere ID-kortet |
| Ugyldigt ID-kort i Identity Token Request | ||
|---|---|---|
| STS svar | faultcode = wst:InvalidRequest faultactor = dk:sosi:sts:its faultstring = The request was invalid or malformed: identity token service only support user card. | |
| Årsag | Anvender | |
| Forklaring | Identity 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 svar | faultcode = faultactor = faultstring = | Årsag | Forklaring | Løsning |
| STS svar | faultcode = faultactor = faultstring = | |
| Årsag | Forklaring | Løsning|
