...
Version | Datum | Författare | Kommentar |
---|---|---|---|
0.1 |
| Kopierad från tidigare version |
Expandera | ||||
---|---|---|---|---|
| ||||
|
Inledning
SAML attributstyrning innebär att en SP själv kan ange i sitt metadata (i kombination med sitt <AuthnRequest>
) vilka attribut som efterfrågas för alla, eller en specifik autentisering. Detta möjliggör att autentisering av en web-klient kan ske utan att man behöver göra ett uppdragsval, vilket exempelvis är användbart i de fall man bara har krav på identifiering och inte vill ha behörighetsstyrande attribut.
...
AuthnRequest utan index
Kodblock | ||||||
---|---|---|---|---|---|---|
| ||||||
<samlp:AuthnRequest xmlns:mdattr="urn:oasis:names:tc:SAML:metadata:attribute" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ds="http://www.w3.org/2000/09/xmldsig#" ForceAuthn="false" IsPassive="false" ProviderName="Sp Example Name" ID="ID850325636986645032969715339748802383986121801227" Version="2.0" IssueInstant="2013-03-21T09:31:17.235Z" Destination="https://auth.dev.inera.test:443/saml/HTTP-Redirect" Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified"> |
Här har skickar SP:n inte med något index. I exemplen ovan så leder detta till att "index=0" kommer att användas (dvs utan HSA-uppslag), eftersom "index=0" var satt som default.
AuthnRequest med PrincipalSelection
Som SP finns möjligheten att på förhand göra ett specifikt val över vilket HSAange information om användaren som inloggningen ska slutföras med. IdP stödjer idag förval av personnummer, tjänste-id, medarbetaruppdrags-id, organisationsnummer , personnummer eller orgAffiliation som användaren ska bli inloggad med. Dess värden kan användas enskilt men också kombineras med varandra. När filtreringen görs försöker IdP:n göra ett val automatiskt baserad på den informationen som tagits emot i den AuthnRequest som skickats in. 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.
I exemplet nedan förväntas användaren bli inloggad med HSA-id:t TSTNMT2321000156-10NG för organisationen med organisationsnumret 232100-0214.
language | xml |
---|---|
theme | RDark |
title | PrincipalSelection |
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 fält specifierats via PrincipalSelection måste samtliga uppfyllas, det räcker alltså inte ifall bara något eller några av PrincipalSelection-värden matchar. Skulle det visa sig att användarens uppgifter inte stämmer överens med det som skickats via PrincipalSelection kommer inloggningen markeras som misslyckad. När filtreringen görs försöker IdP:n göra ett val automatiskt baserad på den informationen som tagits emot i den AuthnRequest som skickats in. 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.
De attribut som avläses i IdP:n för PrincipalSelection är:
Attribut | Används för | Format |
---|---|---|
urn:credential:personalIdentityNumber | Personidentifierare | <psc:MatchValue Name="urn:credential:personalIdentityNumber" xmlns:psc="http://id.swedenconnect.se/authn/1.0/principal-selection/ns">personalIdentityNumber</psc:MatchValue> |
http://sambi.se/attributes/1/personalIdentityNumber | Personidentifierare | <psc:MatchValue Name="http://sambi.se/attributes/1/personalIdentityNumber" xmlns:psc="http://id.swedenconnect.se/authn/1.0/principal-selection/ns">personalIdentityNumber</psc:MatchValue> |
http://sambi.se/attributes/1/employeeHsaId | Personidentifierare | <psc:MatchValue Name="http://sambi.se/attributes/1/employeeHsaId" xmlns:psc="http://id.swedenconnect.se/authn/1.0/principal-selection/ns">employeeHsaId</psc:MatchValue> |
http://sambi.se/attributes/1/commissionHsaId | Filtrering av Medarbetaruppdrag | <psc:MatchValue Name="http://sambi.se/attributes/1/commissionHsaId" xmlns:psc="http://id.swedenconnect.se/authn/1.0/principal-selection/ns">commissionHsaId</psc:MatchValue> |
urn:orgAffiliation | Filtrering av Medarbetaruppdrag | <psc:MatchValue Name="urn:orgAffiliation" xmlns:psc="http://id.swedenconnect.se/authn/1.0/principal-selection/ns">employeeHsaId@organizationIdentifier</psc:MatchValue> |
http://sambi.se/attributes/1/organizationIdentifier | Filtrering av Medarbetaruppdrag | <psc:MatchValue Name="http://sambi.se/attributes/1/organizationIdentifier" xmlns:psc="http://id.swedenconnect.se/authn/1.0/principal-selection/ns">organizationIdentifier</psc:MatchValue> |
I exemplet nedan förväntas användaren bli inloggad med HSA-id:t TSTNMT2321000156-10NG för organisationen med organisationsnumret 232100-0214.
Kodblock | ||||||
---|---|---|---|---|---|---|
| ||||||
<saml2p:AuthnRequest xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" Destination="https://idp.dev.inera.test:8443/saml/sso/HTTP-POST" ForceAuthn="false" ID="a4c722ff-4a14-4719-9c11-a36a47c00139" IsPassive="false" IssueInstant="2023-10-19T08:50:52.279Z" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Version="2.0"> <saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">https://sp.dev.inera.test:8881</saml2:Issuer> <saml2p:Extensions> <psc:PrincipalSelection xmlns:psc="http://id.swedenconnect.se/authn/1.0/principal-selection/ns"> <psc:MatchValue Name="http://sambi.se/attributes/1/employeeHsaId" xmlns:psc="http://id.swedenconnect.se/authn/1.0/principal-selection/ns">TSTNMT2321000156-10NG</psc:MatchValue> <psc:MatchValue Name="http://sambi.se/attributes/1/organizationIdentifier" xmlns:psc="http://id.swedenconnect.se/authn/1.0/principal-selection/ns">232100-0214</psc:MatchValue> </psc:PrincipalSelection> </saml2p:Extensions> </saml2p:AuthnRequest> |