Versions Compared

Key

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

...

Vid federerad inloggning med SAML finns en funktion för att möjliggöra för tjänster att hänvisa användare som har hindrande inloggningsproblem tillbaka till hjälpsidor hos användarens inloggningstjänst (IdP). Identitetsutfärdare organisation. Organisationer kan lägga in en särskild uppgift om "errorURL" i sin metadata metadatan för sin identitetsutfärdare (IdP) med en länk till organisationens hjälpsidor. Tidigare kunde organisationen bakom inloggningstjänsten endast ge ett generellt felmeddelande som ska har bara en generell webbadress kunnat konfigureras som "errorURL" för en identitetsutfärdare som då behöver täcka alla olika typer av fel via errorURL men nu finns en mer avancerad modell där en tjänst kan informera organisationen om vilken typ av fel det är och därmed kan de ge bättre information till användaren om hur man löser problemet.

Utökad hantering av errorURL

Under 2020 kompletterades detta med en utökning som gör att tjänster kan hänvisa användare till mer specifika informationssidor hos användarens organisation vid olika typer av fel för att bättre kunna hjälpa användaren att lösa hindrande inloggningsproblem.

Från och med 16 mars 2021 måste alla identitetsutfärdare (IdP) registrerade i SWAMID ha en errorURL registrerad i sin IdPs metadata. Det finns två alternativ till errorURL:

Utökad hantering av errorURL

Se så utökades hanteringen av errorURL med ett tillägg som möjliggör för tjänster att hänvisa användare till olika sidor beroende på kategori av fel som uppstått vid inloggning, SAML V2.0 Metadata Deployment Profile for errorURL Version 1.0för definitionen av den utökade hanteringen av errorURL.

Felen som omfattas av errorURL-hanteringen är endast de fel som användaren förväntas kunna lösa själv eller med hjälp av sin identitetsutfärdare. Det finns fyra olika felkatagorier:

...

Vid användning av tillägget till errorURL konstrueras URL:en med ett antal specifika strängar som tjänster kan byta ut till olika värden beroende på fel som uppstår vid inloggning. Den viktigaste av dessa är strängen "ERRORURL_CODE" som byts ut mot "IDENTIFICATION_FAILURE", "AUTHENTICATION_FAILURE" eller någon av de andra felkategorierna.

...

Om exempelvis en tjänst som kräver att användare uppfyller tillitsnivån SWAMID AL2 får en inloggning på tillitsnivå SWAMID AL1 kan tjänsten hänvisa användaren till

...

Exempelimplementatonen återfinns på https://github.com/SUNET/swamid-errorurl.

En

...

dynamisk sida

En dynamisk sida har möjlighet att avgöra vilken tjänst som efterfrågades och vilken kontext som skickades med. Det möjliggör också att ytterligare information som kan underlätta vid felsökning hos identitetsutfärdaren finns med i en eventuell supportförfrågan till identitetsutfärdaren från användarenVid utelämnande av strängen ERRORURL_CODE i en errorURL så finns ingen sträng att ersätta för tjänster. På så vis hänvisas användare vid alla kategorier av fel till samma sida.

Exempel:

https://saml-error.example.com/errorurl.html

...

?errorurl_code=ERRORURL_CODE&errorurl_ts=ERRORURL_TS&errorurl_rp=ERRORURL_RP&errorurl_tid=ERRORURL_TID&errorurl_ctx=ERRORURL_CTX

Fem statiska sidor

Då det finns fyra felkategorier räcker det med fem statiska webbsidor för att tillhandahålla information för de fyra felkategorierna. Den femte sidan är då en omodifierad errorURL där tjänsten inte bytt ut strängen ERRORURL_CODE mot någon felkategori, och bör innehålla information om alla kategorier av fel eller länkar till respektive felsida.

...

https://saml-error.example.com/ERRORURL_CODE.html

En

...

statisk sida

Vid utelämnande av strängen ERRORURL_CODE i en errorURL finns ingen sträng att ersätta för tjänster. På så vis hänvisas användare vid alla kategorier av fel till samma sidaEn dynamisk sida har möjlighet att avgöra vilken tjänst som efterfrågades och vilken kontext som skickades med. Det möjliggör också att ytterligare information som kan underlätta vid felsökning hos identitetsutfärdaren finns med i en eventuell supportförfrågan till identitetsutfärdaren från användaren.

Exempel:

https://saml-error.example.com/?errorurl_code=ERRORURL_CODE&errorurl_ts=ERRORURL_TS&errorurl_rp=ERRORURL_RP&errorurl_tid=ERRORURL_TID&errorurl_ctx=ERRORURL_CTX

...

errorurl.html

Detta kan vara det enda alternativet för tjänsteleverantörer som inte kan välja namn på webbsidor.

Använda SWAMIDs federationsgemensamma stöd för errorURL

Arbete pågår inom SWAMID att se till att samtliga identitetsutfärdare har en definierad errorURL i sin metadata. För att underlätta övergången finns en central tjänst federationsgemensam errorURL som identitetsutfärdare som inte har någon egen errorURL kan använda.

Informationen i den centrala tjänsten är generell och ingen möjlighet till egen anpassning finns. Det enda som skiljer mellan olika identitetsutfärdares errorURL:er i den centrala tjänsten är namn på identitetsutfärdare och e-postadress för supportkontakt som hämtas ur identitetsutfärdarens I den gemensamma errorURL:en finns generell information om olika inloggningsproblem och tänkbara lösningar, samt hänvisning till den e-postadress som finns registrerat som identitetsutfärdarens supportfunktion i dess metadata.

SWAMIDs centrala gemensamma errorURL går att testa på https://error.swamid.se/test/. Där finns även en länk till aktuell errorURL för respektive IdP i SWAMID. IdP:er som inte har någon egen errorURL har där en länk till den centrala gemensamma errorURL:en, anpassad för den specifika identitetstutfärdaren.

Aktivera stöd för errorURL i en tjänst (SP)

För att tjänster ska kunna utnyttja errorURL:en för användares identitetsutfärdare behöver detta läsas ut ur identitetsutfärdarens metadata. Detta hanteras olika i olika SAML Service Providers.

Läsa ut errorURL via Shibboleth Service Provider

För att läsa ut errorURL för en användares identitetsutfärdare i Shibboleth Service Provider så behöver tillägget Metadata Attribute Extraction aktiveras i konfigurationen. Instruktioner finns under rubriken Activate Metadata Attribute Extraction for Identity Provider metadata3.3 Configure Shibboleth SP - Check for Identity Assurance or REFEDS SIRTFI.

När detta är gjort så finns errorURL:en (i förekommande fall) tillgänglig i HTTP-headern/miljövariabeln Meta-errorURL.

...

Läs noga igenom profilen SAML V2.0 Metadata Deployment Profile for errorURL Version 1.0, där beskrivs i vilka fall som errorURL:en kan användas och hur. Se även beskrivningen under Utökad hantering av errorURL ovan.

Försök beskriva felet så utförligt som möjligt ur tjänstens synvinkel för att hjälpa användaren att åtgärda det.

SWAMID-specifik användning av ERRORURL_CTX

För att ytterligare förbättra möjligheten till relevant information till användare vid olika fel används en konvension kring ERRORURL_CTX i SWAMID. Tjänster rekommenderas att lägga till dessa kontext strängar till eventuell annan ERRORURL_CTX vid respektive fel, och identitetsutfärdare rekommenderas att hantera dessa speciellt:

Felkategori och specifikt fel

ERRORURL_CTX

Rekommenderad instruktion till användaren på errorURL:en

AUTHORIZATION_FAILURE
Krav på SWAMID AL1 uppfylls ej

http://www.swamid.se/policy/assurance/al1Uppmana användaren att kontakta identitetsutfärdarens support och upplysa om att SWAMID AL1 inte skickas till tjänsten
AUTHORIZATION_FAILURE
Krav på SWAMID AL2 uppfylls ej
http://www.swamid.se/policy/assurance/al2Beskriv hur användaren kan bekräfta sin identitet hos identitetsutfärdaren
AUTHORIZATION_FAILURE
Krav på SWAMID AL3 uppfylls ej
http://www.swamid.se/policy/assurance/al3Beskriv hur användaren kan verifiera sin identitet hos identitetsutfärdaren och i samband med detta även få tillgång till tvåfaktorsautentisering

Dessa komplement är implementerade i exempelimplementationen och i den centrala federationsgemensamma errorURL-tjänsten :en i SWAMID.