Registrace aplikace SAML v Azure AD B2C

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

Než začnete, použijte selektor Zvolit typ zásady a zvolte typ zásady, kterou nastavujete. Azure Active Directory B2C nabízí dvě metody, jak definovat, jak uživatelé pracují 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 postup nastavení vyberte v předchozím selektoru Možnost Vlastní zásada .

Přehled

Organizace, které jako řešení pro správu přístupu a identit zákazníků používají Azure AD B2C, 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 s Azure Active Directory B2C jako zprostředkovatelem identity na levé straně a poskytovatelem služeb vpravo

  1. Aplikace vytvoří požadavek AuthN SAML, který se odešle do přihlašovacího koncového bodu SAML pro Azure AD B2C.
  2. Uživatel může k ověření použít místní účet Azure AD B2C nebo jiného zprostředkovatele federované identity (pokud je nakonfigurovaný).
  3. Pokud se uživatel přihlásí pomocí zprostředkovatele federované identity, odešle se 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.

Požadavky

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

  • Vlastní zásada SocialAndLocalAccounts z vlastního úvodního balíčku zásad. Proveďte 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 pro 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 Azure AD požadavky na protokol TLS a šifrovací sadu 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í Povinné Popis
Podepisování požadavků 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 Azure AD B2C. Webová aplikace musí zveřejnit veřejný klíč 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í zveřejnit veřejný klíč prostřednictvím koncového bodu metadat SAML. Azure AD B2C může šifrovat kontrolní výrazy vaší aplikace pomocí veřejného klíče. Aplikace používá privátní klíč k dešifrování kontrolního výrazu.

Azure AD certifikátů B2C

Využití Povinné Popis
Podepisování odpovědí SAML Yes 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ího výrazu SAML Yes 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 provést 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 k jiným účelům, například k podepsání kontrolního výrazu SAML.

Získání certifikátu

Pokud ještě nemáte certifikát, 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 a neposkytuje záruky zabezpečení certifikátu podepsaného certifikační autoritou.

Ve Windows vygenerujte certifikát pomocí rutiny New-SelfSignedCertificate v PowerShellu.

  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 Azure AD název tenanta 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 certifikáty uživatelů.

  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>– Export všech úkolů>.

  5. Vyberte Další>Ano, exportovat privátní klíč>Další.

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

  7. Možnost Povolit 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 Další>Dokončit.

Aby Azure AD B2C přijali heslo souboru .pfx, musí být heslo zašifrované pomocí možnosti TripleDES-SHA1 v nástroji Windows Certificate Store Export, na rozdíl od AES256-SHA256.

Odeslání certifikátu

Certifikát musíte uložit ve svém tenantovi Azure AD B2C.

  1. Přihlaste se k webu Azure Portal.
  2. Ujistěte se, že používáte adresář, který obsahuje vašeho tenanta Azure AD B2C. Na panelu nástrojů portálu vyberte ikonu Adresáře a předplatná .
  3. Na | nastavení portálu Na stránce Adresáře a předplatná vyhledejte svůj adresář Azure AD B2C v seznamu Název adresáře a pak vyberte Přepnout.
  4. V levém horním rohu Azure Portal vyberte Všechny služby a pak vyhledejte a vyberte Azure AD B2C.
  5. Na stránce Přehled vyberte Architektura prostředí identit.
  6. Vyberte Klíče zásad a pak vyberte Přidat.
  7. V části Možnosti vyberte Nahrát.
  8. Do pole Název zadejte název klíče zásad. Zadejte například SamlIdpCert. Předpona B2C_1A_ se automaticky přidá k názvu vašeho klíče.
  9. Vyhledejte soubor .pfx certifikátu s privátním klíčem a vyberte ho.
  10. Vyberte Vytvořit.

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

Pokud se chcete připojit k aplikaci SAML, Azure AD B2C musí být schopná vytvářet odpovědi SAML.

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

<ClaimsProviders> Vyhledejte oddíl 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 Vystavitel tokenu SAML. Tato změna se projeví v atributu vráceného issuerUri v odpovědi SAML z Azure AD B2C. Nakonfigurujte aplikaci tak, aby během ověřování odpovědi SAML přijímala stejnou IssuerUri hodnotu.

<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 pro vydání odpovědi SAML

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

Vytvoření zásad registrace nebo přihlašování nakonfigurovaných pro SAML

  1. Vytvořte kopii SignUpOrSignin.xml souboru 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 soubor zásad předávající strany. Je nakonfigurovaný tak, aby ve výchozím nastavení vydá odpověď JWT.

  2. Otevřete souborSignUpOrSigninSAML.xml v preferovaném editoru.

  3. PolicyId Změňte hodnoty a PublicPolicyUri zásad na B2C_1A_signup_signin_saml a http://<tenant-name>.onmicrosoft.com/B2C_1A_signup_signin_saml.

    <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 Azure AD B2C obsahuje SendClaims krok. Tento krok odkazuje na technický profil Vystavitel tokenů. Pokud chcete místo výchozí odpovědi JWT vydat odpověď SAML, upravte SendClaims krok tak, aby odkazovat na nový technický profil vystavitele tokenů SAML: Saml2AssertionIssuer.

Těsně před <RelyingParty> element přidejte následující fragment kódu 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 úvodním balíčku nebo jste přizpůsobili cestu uživatele přidáním nebo odebráním kroků orchestrace, ujistěte se, že číslo v elementu order odpovídá číslu zadanému v cestě uživatele 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, který protokol vaše aplikace používá. Výchozí formát je OpenId. Element Protocol se musí změnit na SAML. Výstupní deklarace identity vytvoří mapování deklarací identity na kontrolní výraz SAML.

Celý <TechnicalProfile> prvek v elementu <RelyingParty> nahraďte následujícím kódem XML technického profilu. Aktualizujte tenant-name na název vašeho tenanta Azure AD B2C.

    <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 další typy toků uživatelů (například toky přihlášení, resetování hesla nebo úpravy profilu).

Nahrání zásad

Uložte změny a nahrajte nové soubory zásadTrustFrameworkExtensions.xml a SignUpOrSigninSAML.xml do Azure Portal.

Testování metadat SAML z idp 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 s metadaty SAML obsahuje umístění služeb, jako jsou metody přihlášení, 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 Azure AD B2C důvěřovala vaší aplikaci, vytvoříte registraci aplikace Azure AD B2C. Registrace obsahuje informace o konfiguraci, například koncový bod metadat aplikace.

  1. Přihlaste se k webu Azure Portal.
  2. Ujistěte se, že používáte adresář, který obsahuje vašeho tenanta Azure AD B2C. Na panelu nástrojů portálu vyberte ikonu Adresáře a předplatná .
  3. Na | nastavení portálu Na stránce Adresáře a předplatná vyhledejte svůj adresář Azure AD B2C v seznamu Název adresáře a pak vyberte Přepnout.
  4. V nabídce vlevo vyberte Azure AD B2C. Nebo vyberte Všechny služby a pak vyhledejte a vyberte Azure AD B2C.
  5. Vyberte Registrace aplikací a pak vyberte Nová registrace.
  6. Zadejte Název aplikace. Zadejte například SAMLApp1.
  7. V části Podporované typy účtů vyberte Účty pouze v tomto organizačním adresáři.
  8. 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.
  9. Vyberte Zaregistrovat.

Konfigurace aplikace v Azure AD B2C

U aplikací SAML je potřeba nakonfigurovat několik vlastností v manifestu registrace aplikace.

  1. V 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 na Azure AD B2C, obsahuje Issuer požadavek SAML AuthN 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 ke čtení konfigurace. Aby toto vyhledávání proběhlo ú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 příslušnou hodnotu. Tato hodnota bude stejná jako hodnota nakonfigurovaná v požadavcích AuthN SAML v EntityId aplikaci a entityID hodnota v metadatech aplikace. Budete také muset najít accessTokenAcceptedVersion parametr a nastavit hodnotu na 2.

Důležité

Pokud neaktualizujete accessTokenAcceptedVersion na 2 , 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

Po načtení registrace aplikace podle hodnoty identifierUri použije Azure AD B2C metadata aplikace k ověření požadavku SAML AuthN a určení způsobu reakce.

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

Pokud jsou v adrese URL metadat SAML i manifestu registrace aplikace zadané vlastnosti, budou sloučeny. Vlastnosti zadané v adrese URL metadat se zpracují jako první a mají přednost.

Jako příklad použijete testovací aplikaci SAML a v manifestu aplikace použijete následující hodnotu samlMetadataUrl pro:

"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 pro aplikaci 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 elementu AssertionConsumerService , 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 element metadat AssertionConsumerService aplikace chybí 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 vazbyHTTP-POST.

Pomocí testovací aplikace SAML byste jako příklad 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 pro odhlášení (volitelné)

Adresa URL pro odhlášení definuje, kam se má uživatel po žádosti o odhlášení přesměrovat. Aplikace obvykle poskytuje tuto adresu URL v dokumentu metadat jako Location atribut elementu SingleLogoutService , 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 element metadat SingleLogoutService aplikace chybí, nakonfigurujte vlastnost manifestu logoutUrl registrace aplikace. Azure AD B2C přesměruje logoutURL uživatele po odhlášení pomocí typu vazbyHTTP-Redirect.

Pomocí testovací aplikace SAML jako příkladu 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 adresu URL pro odhlášení v manifestu aplikace bez naplnění koncového bodu metadat aplikace prostřednictvím samlMetadataUrl vlastnosti, Azure AD B2C podpis požadavku SAML neověří. 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 ve vaší aplikaci SAML. Každá aplikace je jiná a postup se liší. Podrobnosti najdete v dokumentaci k aplikaci.

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

Obvykle se vyžadují některé nebo všechny následující:

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

  • Vystavitel: Hodnota požadavku issuer SAML se musí shodovat s jedním 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. Pří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 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 zadanou 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 jeden z identifikátorů URI, které najdete v elementu identifierUris v manifestu registrace aplikace. Použijte https://contoso.onmicrosoft.com/app-namenapříklad .

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

Podporované a nepodporované postupy SAML

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

Další kroky