Jämförda versioner

Nyckel

  • Dessa rader lades till.
  • Denna rad togs bort.
  • Formateringen ändrades.
Expandera
titleVisa revisionshistorik

Version

Datum

Författare

Kommentar

0.1

 

Stefan Ehlert

  • Upprättat

Expandera
titleVisa innehållsförteckning
Innehållsförteckning
maxLevel2

Publika användargränssnittet

...

  • RP/SP begär endast organizationHsaId. Användaren presenteras med organisationsval.

  • RP/SP begär endast commissionHsaId. Användaren presenteras med medarbetaruppdragsval.

  • RP/SP begär endast organizationName. Användaren presenteras med organisationsval.

  • RP/SP begär organizationName och organizationHsaId. Bägge attribut kan erhållas via organisationsval, därför presenteras användaren med organisationsval.

  • RP/SP begär organizationName och commissionHsaId. commissionHsaId är exklusivt för medarbetaruppdragsvalet medans organizationName kan erhållas både via organisations- och medarbetaruppdragsval. Därför presenteras användaren med medarbetaruppdragsval.

  • RP/SP begär organizationHsaId och commissionHsaId. organizationHsaId och commissionHsaId skulle leda till två separata val i användargränssnittet vilket inte är tillåtet. Därför är detta en illegal kombination och leder till en misslyckas inloggning.

Förval av principalen
Ankare
principal-selection
principal-selection

Som RP/SP finns möjligheten att på förhand ange information om användaren som inloggningen ska slutföras med. IdP stödjer idag förval av personnummer, tjänste-id, medarbetaruppdrags-id, organisationsnummer eller organisationstillhörighet och skickas in som value i de respektive attribut. Dess värden kan användas enskilt men också kombineras med varandra. IdP ser de tillhandahållna uppgifter som tvingande uppgifter som måste uppfyllas för att slutföra inloggningen. Vidare så gäller att ifall flera av dessa principal-fält specifierats måste samtliga uppfyllas, det räcker alltså inte ifall bara något eller några av principal-värden matchar. Skulle det visa sig att användarens uppgifter inte stämmer överens med det som skickats via de attribut kommer inloggningen markeras som misslyckad. Under filtreringen försöker IdP:n göra ett val automatiskt baserad på den informationen som tagits emot i legitimeringsbegäran. Om det är möjligt kan alltså exempelvis ett specifikt tjänste-id pekas ut och användaren slipper göra ett aktivt val i IdP:n. Om den angivna informationen inte är tillräckligt precis för att göra ett automatiskt val kommer användaren presenteras med tjänste-id eller medarbetaruppdragsväljaren i IdP:ns GUI. I väljaren presenteras endast alterantiven principalen (den inloggade användaren). Förvalet möjliggörs genom att tillåta SAML- och OIDC-anslutningar att skicka in värden som del av deras legitimerings- och signeringsbegäran. Dessa värden används sedan av IdP:n för att kunna göra ett val av tjänste-id, organisation och/eller medarbetaruppdrag utan användarinteraktion om möjligt. Alternativt om inte tillräckligt precisa värden skickats in kan IdP:n visa ett urval av valmöjligheter i tjänste-id- organisations- eller medarbetaruppdragsväljaren som på förhand har filtrerats med hjälp av de inskickade attributvärdenvärdena.

Attribut som används i syfte att kunna förvälja principalen ändrar inte beteendet även om claimet har markerats med essential-flaggan. Detta för att förenkla logiken och få ett konsistent beteende för hur förvalet fungerar. Oavsett om "true" eller "false" skickats in under "essential" kommer inloggningen misslyckas om inte IdP hittar matchande uppgifter om identiteten eller medarbetaruppdragen.

Värt att notera är att attribut som används för förvalet av principalen samtidigt också blir del av del attribut som RP/SP:n får som svar i sin biljett. För OIDC finns det alltså en hård koppling mellan förvalet och de attribut som den slutförda inloggningen kommer resultera i vilket är en skillnad mot hur denna mekanism fungerar i SAML. Ett vidare krav för att ett claim ska kunna användas för förvalet av principalen är att RP/SP:n har tillstånd att få ut det aktuella attributet från IdP. Skulle RP/SP:n skicka in ett claim med ett värde men där RP/SP:n inte har tillstånd att få ut det claimet kommer IdP sålla bort och ingen filtrering eller förval kommer ske som tar hänsyn till det specifika claimet.

  • Exempel där filtrering/förval kommer genomföras: RP/SP har tillstånd hos IdP att begära employeeHsaId och commissionHsaId. RP/SP skickar in ett claimvärde för både employeeHsaId och commissionHsaId. IdP använder värdet av både employeeHsaId och commissionHsaId som underlag till förvalet av principalen.

  • Exempel där filtrering/förval delvis kommer genomföras: RP/SP har tillstånd hos IdP att begära employeeHsaId. RP/SP skickar in ett claimvärde för både employeeHsaId och commissionHsaId. IdP använder värdet av employeeHsaId som underlag till förvalet av principalen.

  • Exempel där ingen filtrering/förval kommer genomföras: RP/SP har tillstånd hos IdP att begära employeeHsaId. RP/SP skickar in ett claimvärde för commissionHsaId. IdP använder inget värde som underlag till förvalet av principalen.

Notera även att filtrering på organisation (orgAffiliation, organizationIdentifier) endast kan leda till en lyckad inloggning om användaren i fråga har medarbetaruppdrag konfigurerat på sig. Det är en känd begränsning då uppgifter om organisationstillhörighet endast erhålls via medarbetaruppdrag genom HSA. Som ett exempel så skulle alltså inloggningen misslyckas i fallet då en organisation matas in i förvalet av principalen men användaren saknar medarbetaruppdrag helt och hållet (eller även när inget av medarbetaruppdragen tillhör den inmatade organisationen).

Attribut

De värden som avläses i IdP:n för förval av principalen är:

Claim

Används för

credentialPersonalIdentityNumber

Validering av personidentifierare

personalIdentityNumber

Validering av personidentifierare

employeeHsaId

Filtrering av tjänste-id

organizationHsaId

Filtrering av organisationer

organizationIdentifier

Filtrering av organisationer/medarbetaruppdrag

orgAffiliation

Filtrering av organisationer/medarbetaruppdrag

commissionHsaId

Filtrering av medarbetaruppdrag

Exempel på användningsfall

Låt oss anta att användaren har en uppsättning i HSA som grovt förenklat ser ut som strukturen nedan. Vi antar också att användaren använder sitt eget SITHS eID med personnummret som finns speficierat nedan.

För att hålla exemplen enkla används enbart employeeHsaId, commissionHsaId, organizationIdentifier och personalIdentityNumber som de attribut som begärs av RP/SP:n. Exemplen i tabellen är bara ett litet urval av möjliga scenarion och täcker inte alla användningsfall eller kombinationer.

  • Person: 19121212-1212

    • Tjänste-id: employeeHsaId 111

      • Medarbetaruppdrag: commissionHsaId aaa, organisationsnummer 12345

      • Medarbetaruppdrag: commissionHsaId bbb, organisationsnummer 12345

    • Tjänste-id: employeeHsaId 222

      • Medarbetaruppdrag: commissionHsaId ccc, organisationsnummer 12345

    • Tjänste-id: employeeHsaId 333

      • Medarbetaruppdrag: commissionHsaId ddd, organisationsnummer 67890

    • Tjänste-id: employeeHsaId 444 (saknar medarbetaruppdrag)

Expandera

Inmatning i legitimeringsbegäran

Resultat

employeeHsaId: 111

Ingen användarinteraktion krävs. Biljett erhålles med employeeHsaId 111.

employeeHsaId: 444

Ingen användarinteraktion krävs. Biljett erhålles med employeeHsaId 444.

employeeHsaId: 999

Inloggningen misslyckas, inget giltigt tjänste-id hittas.

commissionHsaId: bbb

Ingen filtrering utförs. RP/SP har inte tillstånd att begära commissionHsaId. Tom biljett erhålles.

commissionHsaId: zzz

Ingen filtrering utförs, RP/SP har inte tillstånd att begära commissionHsaId. Tom biljett erhålles.

employeeHsaId: 111

organisationIdentifier: 12345

Partiell filtrering utförs med hjälp av endast employeeHsaId. RP/SP har inte tillstånd att begära organizationIdentifier. Ingen användarinteraktion krävs. Biljett erhålles med employeeHsaId 111.

personalIdentityNumber: 19000101-0001

Ingen filtrering utförs, RP/SP har inte tillstånd att begära personalIdentityNumber. Tom biljett erhålles.

Expandera

Inmatning i legitimeringsbegäran

Resultat

commissionHsaId: ccc

Ingen användarinteraktion krävs. Biljett erhålles med commissionHsaId ccc.

commissionHsaId: zzz

Inloggningen misslyckas, inget medarbetaruppdrag hittas.

employeeHsaId: 111

Ingen filtrering utförs. RP/SP har inte tillstånd att begära employeeHsaId. Tom biljett erhålles.

employeeHsaId: 444

Ingen filtrering utförs. RP/SP har inte tillstånd att begära employeeHsaId. Tom biljett erhålles.

employeeHsaId: 999

Ingen filtrering utförs. RP/SP har inte tillstånd att begära employeeHsaId. Tom biljett erhålles.

commissionHsaId: aaa

organizationIdentifier: 12345

Partiell filtrering utförs med hjälp av endast commissionHsaId. RP/SP har inte tillstånd att begära organizationIdentifier. Ingen användarinteraktion krävs. Biljett erhålles med commissionHsaId aaa.

employeeHsaId: 222

organizationIdentifier: 12345

Ingen filtrering utförs, RP/SP har inte tillstånd att begära varken employeeHsaId eller organizationIdentifier. Tom biljett erhålles.

personalIdentityNumber: 19121212-1212

Ingen filtrering utförs, RP/SP har inte tillstånd att begära personalIdentityNumber. Tom biljett erhålles.

Expandera

Inmatning i legitimeringsbegäran

Resultat

organizationIdentifier: 67890

Ingen användarinteraktion krävs. Biljett erhålles med organizationIdentifier 67890.

organizationIdentifier: 12345

Användarinteraktion krävs. Användaren får välja bland medarbetaruppdragen aaa, bbb och ccc som har organizationIdentifier 12345. Biljett erhålles med organizationIdentifier 12345.

employeeHsaId: 111

Ingen filtrering utförs. RP/SP har inte tillstånd att begära employeeHsaId. Tom biljett erhålles.

employeeHsaId: 444

Ingen filtrering utförs. RP/SP har inte tillstånd att begära employeeHsaId. Tom biljett erhålles.

employeeHsaId: 999

Ingen filtrering utförs. RP/SP har inte tillstånd att begära employeeHsaId. Tom biljett erhålles.

commissionHsaId: aaa

organizationIdentifier: 12345

Partiell filtrering utförs med hjälp av endast organizationIdentifier. RP/SP har inte tillstånd att begära commissionHsaId. Användarinteraktion krävs. Användaren får välja bland medarbetaruppdragen aaa, bbb och ccc som har organizationIdentifier 12345. Biljett erhålles med organizationIdentifier 12345.

employeeHsaId: 222

commissionHsaId: ccc

Ingen filtrering utförs, RP/SP har inte tillstånd att begära varken employeeHsaId eller commissionHsaId. Tom biljett erhålles.

personalIdentityNumber: 19121212-1212

Ingen filtrering utförs, RP/SP har inte tillstånd att begära personalIdentityNumber. Tom biljett erhålles.

Expandera

Inmatning i legitimeringsbegäran

Resultat

employeeHsaId: 111

Ingen användarinteraktion krävs. Biljett erhålles med employeeHsaId 111.

employeeHsaId: 444

Ingen användarinteraktion krävs. Biljett erhålles med employeeHsaId 444.

employeeHsaId: 999

Inloggningen misslyckas, inget giltigt tjänste-id hittas.

organizationIdentifier: 12345

Användarinteraktion krävs. Användaren får välja bland medarbetaruppdragen aaa, bbb och ccc som har organizationIdentifier 12345. Biljett erhålles med organizationIdentifier 12345.

employeeHsaId: 111

organizationIdentifier: 12345

Användarinteraktion krävs. Användaren får välja bland medarbetaruppdragen aaa och bbb som har organizationIdentifier 12345. Biljett erhålles med emloyeeHsaId 111 och organizationIdentifier 12345.

employeeHsaId: 111

organizationIdentifier: 67890

Inloggningen misslyckas. inget medarbetaruppdrag med organizationIdentifier 67890 hittas under employeeHsaId 111.

employeeHsaId: 444

organizationIdentifier: 12345

Inloggningen misslyckas. inget medarbetaruppdrag med organizationIdentifier 12345 hittas under employeeHsaId 444.

employeeHsaId: 111

commissionHsaId: aaa

Partiell filtrering utförs med hjälp av endast employeeHsaId. RP/SP har inte tillstånd att begära commissionHsaId. Ingen användarinteraktion krävs. Biljett erhålles med employeeHsaId 111.

employeeHsaId: 444

commissionHsaId: aaa

Partiell filtrering utförs med hjälp av endast employeeHsaId. RP/SP har inte tillstånd att begära commissionHsaId. Ingen användarinteraktion krävs. Biljett erhålles med employeeHsaId 444.

commissionHsaId: ccc

Ingen filtrering utförs. RP/SP har inte tillstånd att begära commissionHsaId. Tom biljett erhålles.

commissionHsaId: aaa

organizationIdentifier: 12345

Partiell filtrering utförs med hjälp av endast organizationIdentifier. RP/SP har inte tillstånd att begära commissionHsaId. Användarinteraktion krävs. Användaren får välja bland medarbetaruppdragen aaa, bbb och ccc som har organizationIdentifier 12345. Biljett erhålles med organizationIdentifier 12345.

personalIdentityNumber: 19121212-1212

Ingen filtrering utförs, RP/SP har inte tillstånd att begära personalIdentityNumber. Tom biljett erhålles.

Expandera

Inmatning i legitimeringsbegäran

Resultat

credentialPersonalIdentityNumber: 19121212-1212

Ingen användarinteraktion krävs. Biljett erhålles med credentialPersonalIdentityNumber 19121212-1212.

credentialPersonalIdentityNumber: 19000101-0001

Inloggningen misslyckas, personnummer matchar inte identiteten.

employeeHsaId: 111

Ingen filtrering utförs. RP/SP har inte tillstånd att begära employeeHsaId. Tom biljett erhålles.

commissionHsaId: aaa

Ingen filtrering utförs. RP/SP har inte tillstånd att begära commissionHsaId. Tom biljett erhålles.Med denna mekanism har anslutande system möjlighet att på förhand välja vilket personnummer, tjänste-id, organisations-id, organisationsnummer eller medarbetaruppdrag användaren måste slutföra inloggningen med. Om något av de inskickade värden inte kan uppfyllas av användaren (antingen genom att fel kort använts eller uppgifter saknas i HSA) kommer inloggningen eller signeringen att misslyckas.

För respektive protokoll finns det väsentliga skillnader på hur dessa värden skickas in, samt vilka villkor som måste vara uppfyllda för att filtreringen och förvalet ska kunna genomföras. Läs mer om respektive implementation för OIDC och SAML här: