Konfigurera alternativ för SAML-identitetsprovider med Azure Active Directory B2C
Azure Active Directory B2C (Azure AD B2C) stöder federation med SAML 2.0-identitetsprovidrar. Den här artikeln beskriver hur du parsar säkerhetskontrollerna och de konfigurationsalternativ som är tillgängliga när du aktiverar inloggning med en SAML-identitetsprovider.
Innan du börjar använder du väljaren Välj en principtyp för att välja den typ av princip som du konfigurerar. Azure Active Directory B2C erbjuder två metoder för att definiera hur användare interagerar med dina program: via fördefinierade användarflöden eller via helt konfigurerbara anpassade principer. Stegen som krävs i den här artikeln skiljer sig åt för varje metod.
Den här funktionen är endast tillgänglig för anpassade principer. För installationssteg väljer du Anpassad princip i föregående väljare.
Anspråksmappning
Elementet OutputClaims innehåller en lista över anspråk som returneras av SAML-identitetsprovidern. Du måste mappa namnet på anspråket som definierats i principen till det namn som definierats i identitetsprovidern. Kontrollera identitetsprovidern för listan över anspråk (intyg). Du kan också kontrollera innehållet i DET SAML-svar som identitetsprovidern returnerar. Mer information finns i Felsöka SAML-meddelanden. Om du vill lägga till ett anspråk definierar du först ett anspråk och lägger sedan till anspråket i den utgående anspråkssamlingen.
Du kan också inkludera anspråk som inte returneras av identitetsprovidern, så länge du anger attributet DefaultValue
. Standardvärdet kan vara statiskt eller dynamiskt med hjälp av kontextanspråk.
Anspråkselementet för utdata innehåller följande attribut:
- ClaimTypeReferenceId är referensen till en anspråkstyp.
- PartnerClaimType är namnet på egenskapen som visas saml-försäkran.
- DefaultValue är ett fördefinierat standardvärde. Om anspråket är tomt används standardvärdet. Du kan också använda en anspråkslösare med ett kontextuellt värde, till exempel korrelations-ID eller användarens IP-adress.
Mottagarnamn
Om du vill läsa SAML-försäkran NameId i ämnesraden som ett normaliserat anspråk anger du anspråket PartnerClaimType till värdet för SPNameQualifier
attributet.
SPNameQualifier
Om attributet inte visas anger du anspråket PartnerClaimType till värdet för attributetNameQualifier
.
SAML-försäkran:
<saml:Subject>
<saml:NameID SPNameQualifier="http://your-idp.com/unique-identifier" Format="urn:oasis:names:tc:SAML:2.0:nameid-format:transient">david@contoso.com</saml:NameID>
<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer">
<SubjectConfirmationData InResponseTo="_cd37c3f2-6875-4308-a9db-ce2cf187f4d1" NotOnOrAfter="2020-02-15T16:23:23.137Z" Recipient="https://<your-tenant>.b2clogin.com/<your-tenant>.onmicrosoft.com/B2C_1A_TrustFrameworkBase/samlp/sso/assertionconsumer" />
</SubjectConfirmation>
</saml:SubjectConfirmation>
</saml:Subject>
Utdataanspråk:
<OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="http://your-idp.com/unique-identifier" />
Om båda SPNameQualifier
attributen eller NameQualifier
inte visas i SAML-försäkran anger du anspråket PartnerClaimType till assertionSubjectName
. Kontrollera att NameId är det första värdet i xml-försäkran. När du definierar mer än en försäkran väljer Azure AD B2C ämnesvärdet från den senaste försäkran.
Konfigurera SAML-protokollbindningar
SAML-begäranden skickas till identitetsprovidern enligt vad som anges i identitetsproviderns metadataelement SingleSignOnService
. De flesta av identitetsprovidrars auktoriseringsbegäranden utförs direkt i URL-frågesträngen för en HTTP GET-begäran (eftersom meddelandena är relativt korta). Information om hur du konfigurerar bindningar för båda SAML-begäranden finns i dokumentationen för identitetsprovidern.
Följande XML är ett exempel på en tjänst för enkel inloggning med Microsoft Entra metadata med två bindningar.
HTTP-Redirect
har företräde framför HTTP-POST
eftersom den visas först i METADATA för SAML-identitetsprovidern.
<IDPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
...
<SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/saml2"/>
<SingleSignOnService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/saml2"/>
</IDPSSODescriptor>
Konsumenttjänst för försäkran
Assertion Consumer Service (eller ACS) är där SAML-svar från identitetsprovidern skickas och tas emot av Azure AD B2C. SAML-svar överförs till Azure AD B2C via HTTP POST-bindning. ACS-platsen pekar på den förlitande partens grundprincip. Om den förlitande principen till exempel är B2C_1A_signup_signin är ACS basprincipen för B2C_1A_signup_signin, till exempel B2C_1A_TrustFrameworkBase.
Följande XML är ett exempel på ett Azure AD B2C-principmetadata för konsumenttjänstelementet.
<SPSSODescriptor AuthnRequestsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
...
<AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://your-tenant.b2clogin.com/your-tenant/B2C_1A_TrustFrameworkBase/samlp/sso/assertionconsumer" index="0" isDefault="true"/>
</SPSSODescriptor>
Konfigurera SAML-begärandesignaturen
Azure AD B2C signerar alla utgående autentiseringsbegäranden med hjälp av kryptografinyckeln SamlMessageSigning. Om du vill inaktivera SAML-begärandesignaturen anger du WantsSignedRequests till false
. Om metadata är inställda false
på utelämnas parametrarna SigAlg och Signature (frågesträng eller postparameter) från begäran.
Dessa metadata styr också attributet AuthnRequestsSigned, som ingår i metadata för den tekniska Azure AD B2C-profil som delas med identitetsprovidern. Azure AD B2C signerar inte begäran om värdet för WantsSignedRequests i den tekniska profilens metadata har angetts till false
och identitetsproviderns metadata WantAuthnRequestsSigned har angetts till false
eller inte angetts.
I följande exempel tar bort signaturen från SAML-begäran.
<Metadata>
...
<Item Key="WantsSignedRequests">false</Item>
</Metadata>
Signaturalgoritm
Azure AD B2C använder Sha1
för att signera SAML-begäran. Använd XmlSignatureAlgorithm-metadata för att konfigurera algoritmen som ska användas. Möjliga värden är Sha256
, Sha384
, Sha512
eller Sha1
(standard). Dessa metadata styr värdet för Parametern SigAlg (frågesträng eller postparameter) i SAML-begäran. Se till att du konfigurerar signaturalgoritmen på båda sidor med samma värde. Använd bara den algoritm som certifikatet stöder.
Inkludera viktig information
När identitetsprovidern anger att Azure AD B2C-bindning har angetts till HTTP-POST
innehåller Azure AD B2C signaturen och algoritmen i brödtexten i SAML-begäran. Du kan också konfigurera Microsoft Entra-ID så att det inkluderar certifikatets offentliga nyckel när bindningen är inställd på HTTP-POST
. Använd IncludeKeyInfo-metadata till true
, eller false
. I följande exempel innehåller Microsoft Entra-ID inte certifikatets offentliga nyckel.
<Metadata>
...
<Item Key="IncludeKeyInfo">false</Item>
</Metadata>
Konfigurera NAMN-ID för SAML-begäran
Elementet FÖR SAML-auktoriseringsbegäran <NameID>
anger formatet för SAML-namnidentifierare. I det här avsnittet beskrivs standardkonfigurationen och hur du anpassar namn-ID-elementet.
Önskat användarnamn
Under en inloggningsanvändarresa kan ett förlitande partprogram rikta sig till en viss användare. Azure AD B2C kan du skicka ett önskat användarnamn till SAML-identitetsprovidern. Elementet InputClaims används för att skicka ett NameId i ämnet för SAML-auktoriseringsbegäran.
Om du vill inkludera ämnesnamnets ID i auktoriseringsbegäran lägger du till följande <InputClaims>
element omedelbart efter <CryptographicKeys>
.
PartnerClaimType måste anges till subject
.
<InputClaims>
<InputClaim ClaimTypeReferenceId="signInName" PartnerClaimType="subject" />
</InputClaims>
I det här exemplet skickar Azure AD B2C värdet för signInName-anspråket med NameId i ämnesraden för SAML-auktoriseringsbegäran.
<samlp:AuthnRequest ... >
...
<saml:Subject>
<saml:NameID>sam@contoso.com</saml:NameID>
</saml:Subject>
</samlp:AuthnRequest>
Du kan använda kontextanspråk, till exempel {OIDC:LoginHint}
för att fylla i anspråksvärdet.
<Metadata>
...
<Item Key="IncludeClaimResolvingInClaimsHandling">true</Item>
</Metadata>
...
<InputClaims>
<InputClaim ClaimTypeReferenceId="signInName" PartnerClaimType="subject" DefaultValue="{OIDC:LoginHint}" AlwaysUseDefaultValue="true" />
</InputClaims>
Namn-ID-principformat
Som standard anger SAML-auktoriseringsbegäran urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified
principen. Det här namn-ID:t anger att alla typer av identifierare som stöds av identitetsprovidern för det begärda ämnet kan användas.
Information om vilka namn-ID-principer som stöds finns i dokumentationen för din identitetsprovider om du vill ändra det här beteendet. Lägg sedan till NameIdPolicyFormat
metadata i motsvarande principformat. Exempel:
<Metadata>
...
<Item Key="NameIdPolicyFormat">urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</Item>
</Metadata>
Följande SAML-auktoriseringsbegäran innehåller namn-ID-principen.
<samlp:AuthnRequest ... >
...
<samlp:NameIDPolicy Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress" />
</samlp:AuthnRequest>
Tillåt att nya konton skapas
Om du anger namn-ID-principformatet kan du också ange AllowCreate
egenskapen för NameIDPolicy för att ange om identitetsprovidern får skapa ett nytt konto under inloggningsflödet. Mer information finns i din identitetsproviders dokumentation.
Azure AD B2C utelämnar AllowCreate
egenskapen som standard. Du kan ändra det här beteendet med hjälp av NameIdPolicyAllowCreate
metadata. Värdet för dessa metadata är true
eller false
.
I följande exempel visas hur du anger AllowCreate
egenskapen NameIDPolicy
för till true
.
<Metadata>
...
<Item Key="NameIdPolicyFormat">urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress</Item>
<Item Key="NameIdPolicyAllowCreate">true</Item>
</Metadata>
I följande exempel visas en auktoriseringsbegäran med AllowCreate för nameIDPolicy-elementet i auktoriseringsbegäran.
<samlp:AuthnRequest ... >
...
<samlp:NameIDPolicy
Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress"
AllowCreate="true" />
</samlp:AuthnRequest>
Framtvinga autentisering
Du kan tvinga den externa SAML IDP att fråga användaren om autentisering genom att skicka ForceAuthN
egenskapen i SAML-autentiseringsbegäran. Din identitetsprovider måste också ha stöd för den här egenskapen.
Egenskapen ForceAuthN
är ett booleskt true
värde.false
Som standard anger Azure AD B2C ForceAuthN-värdet till false
. Om sessionen sedan återställs (till exempel med hjälp prompt=login
av i OIDC) ForceAuthN
anges värdet till true
. Om du ställer in metadata för ForceAuthN
att true
framtvinga värdet för alla begäranden till den externa IDP:en.
I följande exempel visas egenskapen inställd på ForceAuthN
true
:
<Metadata>
...
<Item Key="ForceAuthN">true</Item>
...
</Metadata>
I följande exempel visas egenskapen ForceAuthN
i en auktoriseringsbegäran:
<samlp:AuthnRequest AssertionConsumerServiceURL="https://..." ...
ForceAuthN="true">
...
</samlp:AuthnRequest>
Providernamn
Du kan också inkludera ProviderName
attributet i SAML-auktoriseringsbegäran. Ange att metadata ska ProviderName
innehålla providernamnet för alla begäranden till den externa SAML-IDP:en. I följande exempel visas egenskapen inställd på ProviderName
Contoso app
:
<Metadata>
...
<Item Key="ProviderName">Contoso app</Item>
...
</Metadata>
I följande exempel visas egenskapen ProviderName
i en auktoriseringsbegäran:
<samlp:AuthnRequest AssertionConsumerServiceURL="https://..." ...
ProviderName="Contoso app">
...
</samlp:AuthnRequest>
Inkludera klassreferenser för autentiseringskontext
En SAML-auktoriseringsbegäran kan innehålla ett AuthnContext-element som anger kontexten för en auktoriseringsbegäran. Elementet kan innehålla en referens för autentiseringskontextklassen, som talar om för SAML-identitetsprovidern vilken autentiseringsmekanism som ska presenteras för användaren.
Om du vill konfigurera referenser för autentiseringskontextklass lägger du till IncludeAuthnContextClassReferences-metadata . I värdet anger du en eller flera URI-referenser som identifierar kontextklasser för autentisering. Ange flera URI:er som en kommaavgränsad lista. I din identitetsproviders dokumentation finns vägledning om de AuthnContextClassRef-URI :er som stöds.
I följande exempel kan användare logga in med både användarnamn och lösenord och logga in med användarnamn och lösenord över en skyddad session (SSL/TLS).
<Metadata>
...
<Item Key="IncludeAuthnContextClassReferences">urn:oasis:names:tc:SAML:2.0:ac:classes:Password,urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</Item>
</Metadata>
Följande SAML-auktoriseringsbegäran innehåller referenserna för autentiseringskontextklassen.
<samlp:AuthnRequest ... >
...
<samlp:RequestedAuthnContext>
<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</saml:AuthnContextClassRef>
<saml:AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef>
</samlp:RequestedAuthnContext>
</samlp:AuthnRequest>
Inkludera anpassade data i auktoriseringsbegäran
Du kan också inkludera protokollmeddelandetilläggselement som godkänns av både Azure AD B2C och din identitetsprovider. Tillägget visas i XML-format. Du inkluderar tilläggselement genom att lägga till XML-data i CDATA-elementet <![CDATA[Your Custom XML]]>
. Kontrollera identitetsproviderns dokumentation för att se om tilläggselementet stöds.
I följande exempel visas användningen av tilläggsdata:
<Metadata>
...
<Item Key="AuthenticationRequestExtensions"><![CDATA[
<ext:MyCustom xmlns:ext="urn:ext:custom">
<ext:AssuranceLevel>1</ext:AssuranceLevel>
<ext:AssuranceDescription>Identity verified to level 1.</ext:AssuranceDescription>
</ext:MyCustom>]]></Item>
</Metadata>
Anteckning
Enligt SAML-specifikationen måste tilläggsdata vara namnområdeskvalificerad XML (till exempel "urn:ext:custom" som visas i exemplet), och de får inte vara något av de SAML-specifika namnrymderna.
Med SAML-protokollmeddelandetillägget ser SAML-svaret ut som i följande exempel:
<samlp:AuthnRequest ... >
...
<samlp:Extensions>
<ext:MyCustom xmlns:ext="urn:ext:custom">
<ext:AssuranceLevel>1</ext:AssuranceLevel>
<ext:AssuranceDescription>Identity verified to level 1.</ext:AssuranceDescription>
</ext:MyCustom>
</samlp:Extensions>
</samlp:AuthnRequest>
Kräv signerade SAML-svar
Azure AD B2C kräver att alla inkommande intyg signeras. Du kan ta bort det här kravet genom att ange WantsSignedAssertions till false
. Identitetsprovidern bör inte signera försäkran i det här fallet, men även om den gör det validerar Azure AD B2C inte signaturen.
Metadata för WantsSignedAssertions styr SAML-metadataflaggan WantAssertionsSigned, som ingår i metadata för den tekniska Azure AD B2C-profil som delas med identitetsprovidern.
<SPSSODescriptor AuthnRequestsSigned="true" WantAssertionsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
Om du inaktiverar verifieringen av försäkran kanske du också vill inaktivera verifieringen av svarsmeddelandesignaturen. Ange ResponsesSigned metadata till false
. Identitetsprovidern bör inte signera SAML-svarsmeddelandet i det här fallet, men även om det gör det validerar Azure AD B2C inte signaturen.
I följande exempel tar både meddelandet och kontrollsignaturen bort:
<Metadata>
...
<Item Key="WantsSignedAssertions">false</Item>
<Item Key="ResponsesSigned">false</Item>
</Metadata>
Kräv krypterade SAML-svar
Ange metadata för WantsEncryptedAssertions för att kräva att alla inkommande intyg krypteras. När kryptering krävs använder identitetsprovidern en offentlig nyckel för ett krypteringscertifikat i en teknisk Azure AD B2C-profil. Azure AD B2C dekrypterar svarspåståendet med hjälp av den privata delen av krypteringscertifikatet.
Om du aktiverar kryptering av försäkran kan du också behöva inaktivera verifieringen av svarssignaturen (mer information finns i Kräv signerade SAML-svar.
När metadata för WantsEncryptedAssertions har angetts till true
innehåller metadata för den tekniska Azure AD B2C-profilen krypteringsavsnittet. Identitetsprovidern läser metadata och krypterar SAML-svarspåståendet med den offentliga nyckeln som finns i metadata för den tekniska Azure AD B2C-profilen.
I följande exempel visas avsnittet Nyckelbeskrivning för SAML-metadata som används för kryptering:
<SPSSODescriptor AuthnRequestsSigned="true" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
<KeyDescriptor use="encryption">
<KeyInfo xmlns="https://www.w3.org/2000/09/xmldsig#">
<X509Data>
<X509Certificate>valid certificate</X509Certificate>
</X509Data>
</KeyInfo>
</KeyDescriptor>
...
</SPSSODescriptor>
Så här krypterar du SAML-svarspåståendet:
Skapa en principnyckel med en unik identifierare. Till exempel
B2C_1A_SAMLEncryptionCert
.I din TEKNISKA SAML-profil CryptographicKeys-samling . Ange StorageReferenceId till namnet på den principnyckel som du skapade i det första steget. ID
SamlAssertionDecryption
:t anger användningen av den kryptografiska nyckeln för att kryptera och dekryptera försäkran om SAML-svaret.<CryptographicKeys> ... <Key Id="SamlAssertionDecryption" StorageReferenceId="B2C_1A_SAMLEncryptionCert"/> </CryptographicKeys>
Ange metadata för teknisk profil WantsEncryptedAssertions till
true
.<Metadata> ... <Item Key="WantsEncryptedAssertions">true</Item> </Metadata>
Uppdatera din identitetsprovider med de nya Azure AD tekniska B2C-profilmetadata. Du bör se KeyDescriptor med egenskapen use inställd på som
encryption
innehåller certifikatets offentliga nyckel.
Aktivera användning av kontextanspråk
I insamlingen av indata- och utdataanspråk kan du inkludera anspråk som inte returneras av identitetsprovidern så länge du anger DefaultValue
attributet. Du kan också använda kontextanspråk för att inkluderas i den tekniska profilen. Så här använder du ett kontextanspråk:
Lägg till en anspråkstyp i elementet ClaimsSchema i BuildingBlocks.
Lägg till ett utdataanspråk i indata- eller utdatasamlingen. I följande exempel anger det första anspråket värdet för identitetsprovidern. Det andra anspråket använder kontextanspråken för användarens IP-adress.
<OutputClaims> <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="contoso.com" AlwaysUseDefaultValue="true" /> <OutputClaim ClaimTypeReferenceId="IpAddress" DefaultValue="{Context:IPAddress}" AlwaysUseDefaultValue="true" /> </OutputClaims>
Inaktivera enkel utloggning
Vid en begäran om utloggning av program försöker Azure AD B2C logga ut från din SAML-identitetsprovider. Mer information finns i logga ut Azure AD B2C-session. Om du vill inaktivera beteendet för enkel utloggning anger du metadata för SingleLogoutEnabled till false
.
<Metadata>
...
<Item Key="SingleLogoutEnabled">false</Item>
</Metadata>
Felsöka SAML-protokoll
För att konfigurera och felsöka federation med en SAML-identitetsprovider kan du använda ett webbläsartillägg för SAML-protokollet, till exempel SAML DevTools-tillägget för Chrome, SAML-tracer för FireFox eller Microsoft Edge eller IE Utvecklarverktyg.
Med hjälp av dessa verktyg kan du kontrollera integreringen mellan Azure AD B2C och din SAML-identitetsprovider. Exempel:
- Kontrollera om SAML-begäran innehåller en signatur och ta reda på vilken algoritm som används för att logga in auktoriseringsbegäran.
- Hämta anspråken (försäkran) under avsnittet
AttributeStatement
. - Kontrollera om identitetsprovidern returnerar ett felmeddelande.
- Kontrollera om kontrollavsnittet är krypterat.
SAML-begäran och svarsexempel
Security Assertion Markup Language (SAML) är en öppen standard för att utbyta autentiserings- och auktoriseringsdata mellan en identitetsprovider och en tjänstleverantör. När Azure AD B2C federeras med en SAML-identitetsprovider fungerar den som en tjänstleverantör som initierar en SAML-begäran till SAML-identitetsprovidern och väntar på ett SAML-svar.
Ett lyckat SAML-svar innehåller säkerhetskontroller som är instruktioner som görs av externa SAML-identitetsprovidrar. Azure AD B2C parsar och mappar försäkran till anspråk.
Auktoriseringsbegäran
Om du vill begära användarautentisering skickar Azure AD B2C ett AuthnRequest
element till den externa SAML-identitetsprovidern. Ett SAML 2.0-exempel AuthnRequest
kan se ut som i följande exempel:
<samlp:AuthnRequest
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
ID="_11111111-0000-0000-0000-000000000000"
Version="2.0"
IssueInstant="2023-03-20T07:10:00.0000000Z"
Destination="https://fabrikam.com/saml2"
ForceAuthn="false"
IsPassive="false"
ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"
AssertionConsumerServiceURL="https://contoso.b2clogin.com/contoso.onmicrosoft.com/B2C_1A_TrustFrameworkBase/samlp/sso/assertionconsumer"
ProviderName="https://fabrikam.com"
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
<saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">https://contoso.b2clogin.com/contoso.onmicrosoft.com/B2C_1A_TrustFrameworkBase
</saml:Issuer>
</samlp:AuthnRequest>
Svarsåtgärder
När en begärd inloggning har slutförts skickar den externa SAML-identitetsprovidern ett svar på Azure AD slutpunkt för B2C-försäkran för konsumenttjänsten. Ett svar på ett lyckat inloggningsförsök ser ut som i följande exempel:
<samlp:Response
ID="_98765432-0000-0000-0000-000000000000"
Version="2.0"
IssueInstant="2023-03-20T07:11:30.0000000Z"
Destination="https://contoso.b2clogin.com/contoso.onmicrosoft.com/B2C_1A_TrustFrameworkBase/samlp/sso/assertionconsumer"
InResponseTo="_11111111-0000-0000-0000-000000000000"
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
<Issuer
xmlns="urn:oasis:names:tc:SAML:2.0:assertion">https://fabrikam.com/
</Issuer>
<samlp:Status>
<samlp:StatusCode
Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</samlp:Status>
<Assertion
ID="_55555555-0000-0000-0000-000000000000"
IssueInstant="2023-03-20T07:40:45.505Z"
Version="2.0"
xmlns="urn:oasis:names:tc:SAML:2.0:assertion">
<Issuer>https://fabrikam.com/</Issuer>
<Signature
xmlns="http://www.w3.org/2000/09/xmldsig#">
...
</Signature>
<Subject>
<NameID
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">ABCDEFG
</NameID>
...
</Subject>
<AttributeStatement>
<Attribute Name="uid">
<AttributeValue>12345</AttributeValue>
</Attribute>
<Attribute Name="displayname">
<AttributeValue>David</AttributeValue>
</Attribute>
<Attribute Name="email">
<AttributeValue>david@contoso.com</AttributeValue>
</Attribute>
....
</AttributeStatement>
<AuthnStatement
AuthnInstant="2023-03-20T07:40:45.505Z"
SessionIndex="_55555555-0000-0000-0000-000000000000">
<AuthnContext>
<AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</AuthnContextClassRef>
</AuthnContext>
</AuthnStatement>
</Assertion>
</samlp:Response>
Begäran om utloggning
Vid en begäran om utloggning av program försöker Azure AD B2C logga ut från din SAML-identitetsprovider. Azure AD B2C skickar ett LogoutRequest
meddelande till den externa IDP:n för att ange att en session har avslutats. Följande utdrag visar ett exempelelement LogoutRequest
.
Värdet för elementet NameID
matchar den NameID
användare som loggas ut. Elementet SessionIndex
matchar SessionIndex
attributet AuthnStatement
för i saml-svaret för inloggning.
<samlp:LogoutRequest
xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
ID="_22222222-0000-0000-0000-000000000000"
Version="2.0"
IssueInstant="2023-03-20T08:21:07.3679354Z"
Destination="https://fabrikam.com/saml2/logout"
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
<saml:Issuer
Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity">https://contoso.b2clogin.com/contoso.onmicrosoft.com/B2C_1A_TrustFrameworkBase
</saml:Issuer>
<saml:NameID>ABCDEFG</saml:NameID>
<samlp:SessionIndex>_55555555-0000-0000-0000-000000000000</samlp:SessionIndex>
</samlp:LogoutRequest>
Nästa steg
- Lär dig hur du diagnostiserar problem med dina anpassade principer med hjälp av Application Insights.