Registrace aplikace SAML v Azure AD B2C

V tomto článku se dozvíte, jak připojit aplikace SAML (Security Assertion Markup Language) k Azure Active Directory B2C (Azure AD B2C) k ověřování.

Než začnete, pomocí selektoru Zvolit typ zásady zvolte typ zásady, kterou nastavujete. Azure Active Directory B2C nabízí dvě metody pro definování způsobu interakce uživatelů s vašimi aplikacemi: prostřednictvím předdefinovaných toků uživatelů nebo prostřednictvím plně konfigurovatelných vlastních zásad. Kroky vyžadované v tomto článku se pro každou metodu liší.

Tato funkce je dostupná jenom pro vlastní zásady. Pro kroky nastavení vyberte v předchozím selektoru vlastní zásady .

Přehled

Organizace, které používají Azure AD B2C jako řešení pro správu identit a přístupu zákazníků, můžou vyžadovat integraci s aplikacemi, které se ověřují pomocí protokolu SAML. Následující diagram ukazuje, jak Azure AD B2C slouží jako zprostředkovatel identity (IdP) k dosažení jednotného přihlašování (SSO) s aplikacemi založenými na SAML.

Diagram with Azure Active Directory B2C as an identity provider on the left and as a service provider on the right.

  1. Aplikace vytvoří požadavek SAML AuthN, který se odešle do koncového bodu přihlašování SAML pro Azure AD B2C.
  2. Uživatel může k ověření použít místní účet Azure AD B2C nebo jiný federovaný zprostředkovatel identity (pokud je nakonfigurovaný).
  3. Pokud se uživatel přihlásí pomocí zprostředkovatele federované identity, odešle se do Azure AD B2C odpověď tokenu.
  4. Azure AD B2C vygeneruje kontrolní výraz SAML a odešle ho do aplikace.

V tomto videu se dozvíte, jak integrovat aplikace SAML s Azure AD B2C.

Předpoklady

Pro scénář v tomto článku potřebujete:

  • Vlastní zásady SocialAndLocalAccounts z vlastní úvodní sady zásad. Dokončete kroky v tématu Začínáme s vlastními zásadami v Azure AD B2C.
  • Základní znalost protokolu SAML a znalost implementace SAML aplikace.
  • Webová aplikace nakonfigurovaná jako aplikace SAML. Musí mít možnost odesílat požadavky SAML AuthN a přijímat, dekódovat a ověřovat odpovědi SAML z Azure AD B2C. Aplikace SAML se také označuje jako aplikace předávající strany nebo poskytovatel služeb.
  • Veřejně dostupný koncový bod metadat SAML aplikace SAML nebo dokument XML.
  • Tenant Azure AD B2C.

Pokud ještě nemáte aplikaci SAML a přidružený koncový bod metadat, můžete použít testovací aplikaci SAML, kterou jsme zpřístupnili k testování.

Důležité

Vaše koncové body musí splňovat požadavky na zabezpečení Azure AD B2C. Starší verze protokolu TLS a šifry jsou zastaralé. Další informace najdete v tématu Požadavky na protokol TLS a šifrovací sadu Azure AD B2C.

Nastavení certifikátů

Pokud chcete vytvořit vztah důvěryhodnosti mezi vaší aplikací a Azure AD B2C, musí být obě služby schopné vytvářet a ověřovat podpisy ostatních. Nakonfigurujte certifikáty X509 ve vaší aplikaci a v Azure AD B2C.

Certifikáty aplikací

Využití Požadováno Popis
Podepsání žádosti SAML No Certifikát s privátním klíčem uloženým ve webové aplikaci Vaše aplikace používá certifikát k podepisování požadavků SAML odeslaných do Azure AD B2C. Webová aplikace musí veřejný klíč zveřejnit prostřednictvím koncového bodu metadat SAML. Azure AD B2C ověří podpis požadavku SAML pomocí veřejného klíče z metadat aplikace.
Šifrování kontrolního výrazu SAML No Certifikát s privátním klíčem uloženým ve webové aplikaci Webová aplikace musí veřejný klíč zveřejnit prostřednictvím koncového bodu metadat SAML. Azure AD B2C může šifrovat kontrolní výrazy pro vaši aplikaci pomocí veřejného klíče. Aplikace používá privátní klíč k dešifrování kontrolního výrazu.

Certifikáty Azure AD B2C

Využití Požadováno Popis
Podepisování odpovědí SAML Ano Certifikát s privátním klíčem uloženým v Azure AD B2C Azure AD B2C používá tento certifikát k podepsání odpovědi SAML odeslané do vaší aplikace. Vaše aplikace přečte veřejný klíč metadat v Azure AD B2C, aby ověřila podpis odpovědi SAML.
Podepisování kontrolních výrazů SAML Ano Certifikát s privátním klíčem uloženým v Azure AD B2C Azure AD B2C používá tento certifikát k podepsání <saml:Assertion> části odpovědi SAML.

V produkčním prostředí doporučujeme používat certifikáty, které vydala veřejná certifikační autorita. Tento postup ale můžete dokončit také pomocí certifikátů podepsaných svým držitelem.

Vytvoření klíče zásad

Pokud chcete mít vztah důvěryhodnosti mezi vaší aplikací a Azure AD B2C, vytvořte podpisový certifikát pro odpověď SAML. Azure AD B2C používá tento certifikát k podepsání odpovědi SAML odeslané do vaší aplikace. Vaše aplikace přečte veřejný klíč metadat pro Azure AD B2C, aby ověřila podpis odpovědi SAML.

Tip

Tento klíč zásad můžete použít pro jiné účely, například podepsání kontrolního výrazu SAML.

Získání certifikátu

Pokud ještě certifikát nemáte, můžete použít certifikát podepsaný svým držitelem. Certifikát podepsaný svým držitelem je certifikát zabezpečení, který není podepsaný certifikační autoritou (CA) a neposkytuje záruky zabezpečení certifikátu podepsaného certifikační autoritou.

Ve Windows použijte rutinu New-SelfSignedCertificate v PowerShellu k vygenerování certifikátu.

  1. Spuštěním následujícího příkazu PowerShellu vygenerujte certifikát podepsaný svým držitelem. -Subject Upravte argument podle potřeby pro vaši aplikaci a název tenanta Azure AD B2C, například contosowebapp.contoso.onmicrosoft.com. Můžete také upravit -NotAfter datum a určit jiné vypršení platnosti certifikátu.

    New-SelfSignedCertificate `
        -KeyExportPolicy Exportable `
        -Subject "CN=yourappname.yourtenant.onmicrosoft.com" `
        -KeyAlgorithm RSA `
        -KeyLength 2048 `
        -KeyUsage DigitalSignature `
        -NotAfter (Get-Date).AddMonths(12) `
        -CertStoreLocation "Cert:\CurrentUser\My"
    
  2. Na počítači s Windows vyhledejte a vyberte Spravovat uživatelské certifikáty.

  3. V části Certifikáty – Aktuální uživatel vyberte osobní>certifikáty>yourappname.yourtenant.onmicrosoft.com.

  4. Vyberte certifikát a pak vyberte Akce>Všechny úkoly>exportu.

  5. Vyberte Další>ano, exportujte privátní klíč>Další.

  6. Přijměte výchozí hodnoty formátu exportu souboru a pak vyberte Další.

  7. Povolte možnost Heslo , zadejte heslo pro certifikát a pak vyberte Další.

  8. Pokud chcete zadat umístění pro uložení certifikátu, vyberte Procházet a přejděte do libovolného adresáře.

  9. V okně Uložit jako zadejte název souboru a pak vyberte Uložit.

  10. Vyberte Next (Další)>Finish (Dokončit).

Aby služba Azure AD B2C přijala heslo k souboru .pfx, musí být heslo zašifrované pomocí možnosti TripleDES-SHA1 v nástroji Pro export z Úložiště certifikátů windows, a ne pomocí AES256-SHA256.

Nahrání certifikátu

Certifikát musíte uložit v tenantovi Azure AD B2C.

  1. Přihlaste se k portálu Azure.
  2. Pokud máte přístup k více tenantům, v horní nabídce vyberte ikonu Nastavení a v nabídce Adresáře a předplatná přepněte do svého tenanta Azure AD B2C.
  3. V levém horním rohu webu Azure Portal vyberte Všechny služby a pak vyhledejte a vyberte Azure AD B2C.
  4. Na stránce Přehled vyberte rozhraní Identity Experience Framework.
  5. Vyberte Klíče zásad a pak vyberte Přidat.
  6. V nabídce Možnosti vyberte Nahrát.
  7. Do pole Název zadejte název klíče zásady. Zadejte například SamlIdpCert. Předpona B2C_1A_ se automaticky přidá do názvu klíče.
  8. Vyhledejte a vyberte soubor .pfx certifikátu s privátním klíčem.
  9. Vyberte Vytvořit.

Povolení připojení zásad k aplikaci SAML

Aby se služba Azure AD B2C mohla připojit k aplikaci SAML, musí být schopná vytvářet odpovědi SAML.

Otevřete SocialAndLocalAccounts \TrustFrameworkExtensions.xml v úvodním balíčku vlastních zásad.

<ClaimsProviders> Najděte část a přidejte následující fragment kódu XML pro implementaci generátoru odpovědí SAML:

<ClaimsProvider>
  <DisplayName>Token Issuer</DisplayName>
  <TechnicalProfiles>

    <!-- SAML Token Issuer technical profile -->
    <TechnicalProfile Id="Saml2AssertionIssuer">
      <DisplayName>Token Issuer</DisplayName>
      <Protocol Name="SAML2"/>
      <OutputTokenFormat>SAML2</OutputTokenFormat>
      <Metadata>
        <Item Key="IssuerUri">https://issuerUriMyAppExpects</Item>
      </Metadata>
      <CryptographicKeys>
        <Key Id="SamlAssertionSigning" StorageReferenceId="B2C_1A_SamlIdpCert"/>
        <Key Id="SamlMessageSigning" StorageReferenceId="B2C_1A_SamlIdpCert"/>
      </CryptographicKeys>
      <InputClaims/>
      <OutputClaims/>
      <UseTechnicalProfileForSessionManagement ReferenceId="SM-Saml-issuer"/>
    </TechnicalProfile>

    <!-- Session management technical profile for SAML-based tokens -->
    <TechnicalProfile Id="SM-Saml-issuer">
      <DisplayName>Session Management Provider</DisplayName>
      <Protocol Name="Proprietary" Handler="Web.TPEngine.SSO.SamlSSOSessionProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
    </TechnicalProfile>

  </TechnicalProfiles>
</ClaimsProvider>

Konfigurace identifikátoru URI vystavitele odpovědi SAML

Hodnotu IssuerUri položky metadat můžete změnit v technickém profilu vystavitele tokenu SAML. Tato změna se projeví v atributu issuerUri vráceného v odpovědi SAML z Azure AD B2C. Nakonfigurujte aplikaci tak, aby přijímala stejnou IssuerUri hodnotu během ověřování odpovědi SAML.

<ClaimsProvider>
  <DisplayName>Token Issuer</DisplayName>
  <TechnicalProfiles>
    <!-- SAML Token Issuer technical profile -->
    <TechnicalProfile Id="Saml2AssertionIssuer">
      <DisplayName>Token Issuer</DisplayName>
      <Protocol Name="SAML2"/>
      <OutputTokenFormat>SAML2</OutputTokenFormat>
      <Metadata>
        <Item Key="IssuerUri">https://issuerUriMyAppExpects</Item>
      </Metadata>
      ...
    </TechnicalProfile>

Konfigurace zásad k vydání odpovědi SAML

Teď, když vaše zásady můžou vytvářet odpovědi SAML, musíte zásadu nakonfigurovat tak, aby vystavila odpověď SAML místo výchozí odpovědi JWT na vaši aplikaci.

Vytvoření zásady registrace nebo přihlašování nakonfigurované pro SAML

  1. Vytvořte kopii souboru SignUpOrSignin.xml v pracovním adresáři počátečního balíčku a uložte ho pod novým názvem. V tomto článku se jako příklad používá SignUpOrSigninSAML.xml . Tento soubor je vaším souborem zásad pro předávající stranu. Je nakonfigurovaná tak, aby ve výchozím nastavení vystavovala odpověď JWT.

  2. V preferovaném editoru otevřete soubor SignUpOrSigninSAML.xml .

  3. Změňte hodnotu:

    1. PolicyId na B2C_1A_signup_signin_saml

    2. PublicPolicyUri do http://<tenant-name>.onmicrosoft.com/B2C_1A_signup_signin_saml. Zástupný symbol nahraďte <tenant-name> subdoménou názvu domény tenanta Azure AD B2C. Pokud je například primární doména vašeho tenanta contoso.onmicrosoft.com, použijte contoso. Pokud nemáte název tenanta, přečtěte si , jak si přečíst podrobnosti o tenantovi.

    <TrustFrameworkPolicy
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
    PolicySchemaVersion="0.3.0.0"
    TenantId="<tenant-name>.onmicrosoft.com"
    PolicyId="B2C_1A_signup_signin_saml"
    PublicPolicyUri="http://<tenant-name>.onmicrosoft.com/B2C_1A_signup_signin_saml">
    
  4. Na konci cesty uživatele obsahuje SendClaims Azure AD B2C krok. Tento krok odkazuje na technický profil vystavitele tokenů. Pokud chcete místo výchozí odpovědi JWT vydat odpověď SAML, upravte SendClaims krok tak, aby odkazovat na nový technický profil vystavitele tokenu SAML. Saml2AssertionIssuer

Před element přidejte následující fragment kódu <RelyingParty> XML. Tento kód XML přepíše orchestraci krok 7 na cestě uživatele SignUpOrSignIn .

Pokud jste začali z jiné složky v počátečním balíčku nebo jste upravili cestu uživatele přidáním nebo odebráním kroků orchestrace, ujistěte se, že číslo v order prvku odpovídá číslu zadanému na cestě uživatelem pro krok vystavitele tokenu. Například v ostatních složkách počátečního balíčku je odpovídající číslo kroku 4 pro LocalAccounts, 6 pro SocialAccountsa 9 pro SocialAndLocalAccountsWithMfa.

<UserJourneys>
  <UserJourney Id="SignUpOrSignIn">
    <OrchestrationSteps>
      <OrchestrationStep Order="7" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="Saml2AssertionIssuer"/>
    </OrchestrationSteps>
  </UserJourney>
</UserJourneys>

Element předávající strany určuje protokol, který vaše aplikace používá. Výchozí hodnota je OpenId. Prvek Protocol musí být změněn na SAML. Výstupní deklarace identity vytvoří mapování deklarací identity na kontrolní výraz SAML.

Nahraďte celý <TechnicalProfile> prvek v elementu následujícím kódem XML technického <RelyingParty> profilu.

    <TechnicalProfile Id="PolicyProfile">
      <DisplayName>PolicyProfile</DisplayName>
      <Protocol Name="SAML2"/>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="displayName" />
        <OutputClaim ClaimTypeReferenceId="givenName" />
        <OutputClaim ClaimTypeReferenceId="surname" />
        <OutputClaim ClaimTypeReferenceId="email" DefaultValue="" />
        <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="" />
        <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="objectId"/>
      </OutputClaims>
      <SubjectNamingInfo ClaimType="objectId" ExcludeAsClaim="true"/>
    </TechnicalProfile>

Konečný soubor zásad pro předávající stranu by měl vypadat jako následující kód XML:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<TrustFrameworkPolicy
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
  PolicySchemaVersion="0.3.0.0"
  TenantId="contoso.onmicrosoft.com"
  PolicyId="B2C_1A_signup_signin_saml"
  PublicPolicyUri="http://contoso.onmicrosoft.com/B2C_1A_signup_signin_saml">

  <BasePolicy>
    <TenantId>contoso.onmicrosoft.com</TenantId>
    <PolicyId>B2C_1A_TrustFrameworkExtensions</PolicyId>
  </BasePolicy>

  <UserJourneys>
    <UserJourney Id="SignUpOrSignIn">
      <OrchestrationSteps>
        <OrchestrationStep Order="7" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="Saml2AssertionIssuer"/>
      </OrchestrationSteps>
    </UserJourney>
  </UserJourneys>

  <RelyingParty>
    <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
    <TechnicalProfile Id="PolicyProfile">
      <DisplayName>PolicyProfile</DisplayName>
      <Protocol Name="SAML2"/>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="displayName" />
        <OutputClaim ClaimTypeReferenceId="givenName" />
        <OutputClaim ClaimTypeReferenceId="surname" />
        <OutputClaim ClaimTypeReferenceId="email" DefaultValue="" />
        <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="" />
        <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="objectId"/>
      </OutputClaims>
      <SubjectNamingInfo ClaimType="objectId" ExcludeAsClaim="true"/>
    </TechnicalProfile>
  </RelyingParty>
</TrustFrameworkPolicy>

Poznámka:

Stejným postupem můžete implementovat i jiné typy toků uživatelů (například přihlášení, resetování hesla nebo toky úprav profilu).

Nahrání zásad

Uložte změny a nahrajte nové soubory zásad TrustFrameworkExtensions.xml a SignUpOrSigninSAML.xml na web Azure Portal.

Otestování metadat SAML zprostředkovatele identity Azure AD B2C

Po nahrání souborů zásad použije Azure AD B2C informace o konfiguraci k vygenerování dokumentu metadat SAML zprostředkovatele identity, který bude aplikace používat. Dokument metadat SAML obsahuje umístění služeb, jako jsou metody přihlašování, metody odhlášení a certifikáty.

Metadata zásad Azure AD B2C jsou k dispozici na následující adrese URL:

https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/samlp/metadata

Nahraďte <tenant-name> názvem vašeho tenanta Azure AD B2C. Nahraďte <policy-name> názvem (ID) zásady. Tady je příklad:

https://contoso.b2clogin.com/contoso.onmicrosoft.com/B2C_1A_signup_signin_saml/samlp/metadata

Registrace aplikace SAML v Azure AD B2C

Aby Služba Azure AD B2C důvěřovala vaší aplikaci, vytvoříte registraci aplikace Azure AD B2C. Registrace obsahuje informace o konfiguraci, jako je koncový bod metadat aplikace.

  1. Přihlaste se k portálu Azure.
  2. Pokud máte přístup k více tenantům, v horní nabídce vyberte ikonu Nastavení a v nabídce Adresáře a předplatná přepněte do svého tenanta Azure AD B2C.
  3. V nabídce vlevo vyberte Azure AD B2C. Nebo vyberte Všechny služby a pak vyhledejte a vyberte Azure AD B2C.
  4. Vyberte Registrace aplikací a pak vyberte Nová registrace.
  5. Zadejte název aplikace. Zadejte například SAMLApp1.
  6. V části Podporované typy účtů vyberte Pouze účty v tomto organizačním adresáři.
  7. V části Identifikátor URI přesměrování vyberte web a pak zadejte https://localhost. Tuto hodnotu upravíte později v manifestu registrace aplikace.
  8. Vyberte Zaregistrovat.

Konfigurace aplikace v Azure AD B2C

U aplikací SAML musíte v manifestu registrace aplikace nakonfigurovat několik vlastností.

  1. Na webu Azure Portal přejděte k registraci aplikace, kterou jste vytvořili v předchozí části.
  2. V části Spravovat vyberte Manifest a otevřete editor manifestu. Potom upravte vlastnosti popsané v následujících částech.

Přidání identifikátoru

Když vaše aplikace SAML odešle požadavek do Azure AD B2C, požadavek SAML AuthN obsahuje Issuer atribut. Hodnota tohoto atributu je obvykle stejná jako hodnota metadat entityID aplikace. Azure AD B2C používá tuto hodnotu k vyhledání registrace aplikace v adresáři a čtení konfigurace. Aby bylo vyhledávání úspěšné, identifierUri musí být v registraci aplikace vyplněna hodnota, která odpovídá atributu Issuer .

V manifestu registrace vyhledejte identifierURIs parametr a přidejte odpovídající hodnotu. Tato hodnota bude stejná hodnota, která je nakonfigurovaná v požadavcích SAML AuthN pro EntityId aplikaci a entityID hodnota v metadatech aplikace. Budete také muset najít accessTokenAcceptedVersion parametr a nastavit hodnotu na 2.

Důležité

Pokud kód neaktualizujete accessTokenAcceptedVersion2 , zobrazí se chybová zpráva vyžadující ověřenou doménu.

Následující příklad ukazuje entityID hodnotu v metadatech SAML:

<EntityDescriptor ID="id123456789" entityID="https://samltestapp2.azurewebsites.net" validUntil="2099-12-31T23:59:59Z" xmlns="urn:oasis:names:tc:SAML:2.0:metadata">

Vlastnost identifierUris bude přijímat adresy URL pouze v doméně tenant-name.onmicrosoft.com.

"identifierUris":"https://tenant-name.onmicrosoft.com/app-name",

Sdílení metadat aplikace s Azure AD B2C

Jakmile se registrace aplikace načte podle její identifierUri hodnoty, Azure AD B2C použije metadata aplikace k ověření požadavku SAML AuthN a určení, jak reagovat.

Doporučujeme, aby vaše aplikace zpřístupnila veřejně přístupný koncový bod metadat.

Pokud jsou v adrese URL metadat SAML i manifestu registrace aplikace zadané vlastnosti, slučují se. Vlastnosti zadané v adrese URL metadat se zpracovávají jako první a mají přednost.

Jako příklad použijete testovací aplikaci SAML, pro manifest aplikace byste použili následující hodnotu samlMetadataUrl :

"samlMetadataUrl":"https://samltestapp2.azurewebsites.net/Metadata",

Přepsání nebo nastavení adresy URL příjemce kontrolního výrazu (volitelné)

Můžete nakonfigurovat adresu URL odpovědi, na kterou Azure AD B2C odesílá odpovědi SAML. Adresy URL odpovědí je možné nakonfigurovat v manifestu aplikace. Tato konfigurace je užitečná, když vaše aplikace nezpřístupňuje veřejně přístupný koncový bod metadat.

Adresa URL odpovědi aplikace SAML je koncový bod, ve kterém aplikace očekává příjem odpovědí SAML. Aplikace obvykle poskytuje tuto adresu URL v dokumentu metadat jako Location atribut AssertionConsumerService prvku, jak je znázorněno v tomto příkladu:

<SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
    ...
    <AssertionConsumerService index="0" isDefault="true" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://samltestapp2.azurewebsites.net/SP/AssertionConsumer" />        
</SPSSODescriptor>

Pokud chybí prvek metadat AssertionConsumerService aplikace nebo ho chcete přepsat, nakonfigurujte vlastnost manifestu replyUrlsWithType registrace aplikace. Azure AD B2C používá replyUrlsWithType k přesměrování uživatelů po přihlášení pomocí typu vazby HTTP-POST .

Pomocí testovací aplikace SAML jako příklad byste nastavili url vlastnost replyUrlsWithType na hodnotu zobrazenou v následujícím fragmentu kódu JSON:

"replyUrlsWithType":[
  {
    "url":"https://samltestapp2.azurewebsites.net/SP/AssertionConsumer",
    "type":"Web"
  }
],

Přepsání nebo nastavení adresy URL odhlášení (volitelné)

Adresa URL odhlášení definuje, kam se má uživatel přesměrovat po žádosti o odhlášení. Aplikace obvykle poskytuje tuto adresu URL v dokumentu metadat jako Location atribut SingleLogoutService prvku, jak je znázorněno v následujícím příkladu:

<SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
    <SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://samltestapp2.azurewebsites.net/logout" ResponseLocation="https://samltestapp2.azurewebsites.net/logout" />

</SPSSODescriptor>

Pokud chybí element metadat SingleLogoutService aplikace, nakonfigurujte vlastnost manifestu logoutUrl registrace aplikace. Azure AD B2C používá logoutURL k přesměrování uživatelů po odhlášení pomocí typu vazby HTTP-Redirect .

Pomocí testovací aplikace SAML jako příklad byste vlastnost nastavili logoutUrl na https://samltestapp2.azurewebsites.net/logout:

"logoutUrl": "https://samltestapp2.azurewebsites.net/logout",

Poznámka:

Pokud se rozhodnete nakonfigurovat adresu URL odpovědi a odhlásit adresu URL v manifestu aplikace bez naplnění koncového bodu metadat aplikace prostřednictvím samlMetadataUrl vlastnosti, Azure AD B2C neověří podpis požadavku SAML. Nešifruje ani odpověď SAML.

Konfigurace Azure AD B2C jako zprostředkovatele identity SAML v aplikaci SAML

Posledním krokem je povolení Azure AD B2C jako zprostředkovatele identity SAML v aplikaci SAML. Každá aplikace je jiná a postup se liší. Podrobnosti najdete v dokumentaci vaší aplikace.

Metadata lze ve vaší aplikaci nakonfigurovat jako statická metadata nebo dynamická metadata. Ve statickém režimu zkopírujte všechna metadata nebo jeho část z metadat zásad Azure AD B2C. V dynamickém režimu zadejte adresu URL metadat a povolte aplikaci dynamicky číst metadata.

Některé nebo všechny následující typy jsou obvykle povinné:

  • Metadata: Použijte formát https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/Samlp/metadata.

  • Vystavitel: Hodnota požadavku issuer SAML musí odpovídat některému z identifikátorů URI nakonfigurovaných v identifierUris elementu manifestu registrace aplikace. Pokud název požadavku issuer SAML v elementu identifierUris neexistuje, přidejte ho do manifestu registrace aplikace. Například: https://contoso.onmicrosoft.com/app-name.

  • Přihlašovací adresa URL, koncový bod SAML, adresa URL SAML: Zkontrolujte hodnotu v souboru metadat zásad SAML služby Azure AD B2C pro <SingleSignOnService> element XML.

  • Certifikát: Tento certifikát je B2C_1A_SamlIdpCert, ale bez privátního klíče. Získání veřejného klíče certifikátu:

    1. Přejděte na adresu URL metadat zadaná dříve.
    2. Zkopírujte hodnotu v elementu <X509Certificate> .
    3. Vložte ho do textového souboru.
    4. Uložte textový soubor jako soubor .cer .

Testování pomocí testovací aplikace SAML

K otestování konfigurace můžete použít naši testovací aplikaci SAML:

  • Aktualizujte název tenanta.
  • Aktualizujte název zásady. Použijte například B2C_1A_signup_signin_saml.
  • Zadejte identifikátor URI vystavitele. Použijte jednu z identifikátorů URI nalezených v identifierUris elementu v manifestu registrace aplikace. Například použijte https://contoso.onmicrosoft.com/app-name.

Vyberte Přihlášení a měla by se zobrazit přihlašovací obrazovka uživatele. Po přihlášení se vrátí odpověď SAML zpět do ukázkové aplikace.

Podporované a nepodporované způsoby SAML

Následující scénáře aplikací SAML se podporují prostřednictvím vlastního koncového bodu metadat:

Další kroky