Sdílet prostřednictvím


Definice obsahu

Důležité

Od 1. května 2025 už nebude Azure AD B2C k dispozici k nákupu pro nové zákazníky. Další informace najdete v našich nejčastějších dotazech.

Poznámka:

V Azure Active Directory B2C jsou vlastní zásady navržené především pro řešení složitých scénářů. Ve většině scénářů doporučujeme používat integrované toky uživatelů. Pokud jste to neudělali, přečtěte si informace o úvodním balíčku vlastních zásad v tématu Začínáme s vlastními zásadami ve službě Active Directory B2C.

Vzhled a chování libovolného technického profilu s vlastním uplatněním můžete přizpůsobit. Azure Active Directory B2C (Azure AD B2C) spouští kód v prohlížeči zákazníka a používá moderní přístup s názvem Sdílení prostředků mezi zdroji (CORS).

Chcete-li přizpůsobit uživatelské rozhraní, zadáte adresu URL v elementu ContentDefinition s přizpůsobeným obsahem HTML. V samostatném technickém profilu nebo OrchestrationStep nasměrujete na tento identifikátor definice obsahu. Definice obsahu může obsahovat LocalizedResourcesReferences element, který určuje seznam lokalizovaných prostředků, které se mají načíst. Azure AD B2C slučuje prvky uživatelského rozhraní s obsahem HTML načteným z vaší adresy URL a pak zobrazí stránku uživateli.

Element ContentDefinitions obsahuje adresy URL na šablony HTML5, které lze použít na cestě uživatele. Identifikátor URI stránky HTML5 se používá pro zadaný krok uživatelského rozhraní. Například přihlašovací nebo přihlašovací, resetování hesla nebo chybové stránky. Vzhled a chování můžete upravit přepsáním Identifikátoru LoadUri pro soubor HTML5. Nové definice obsahu můžete vytvářet podle svých potřeb. Tento prvek může obsahovat lokalizovaný odkaz na prostředky identifikátor lokalizace zadaný v elementu Lokalizace .

Následující příklad ukazuje identifikátor definice obsahu a definici lokalizovaných prostředků:

<ContentDefinition Id="api.localaccountsignup">
  <LoadUri>~/tenant/default/selfAsserted.cshtml</LoadUri>
  <RecoveryUri>~/common/default_page_error.html</RecoveryUri>
  <DataUri>urn:com:microsoft:aad:b2c:elements:selfasserted:1.1.0</DataUri>
  <Metadata>
    <Item Key="DisplayName">Local account sign up page</Item>
  </Metadata>
  <LocalizedResourcesReferences MergeBehavior="Prepend">
    <LocalizedResourcesReference Language="en" LocalizedResourcesReferenceId="api.localaccountsignup.en" />
    <LocalizedResourcesReference Language="es" LocalizedResourcesReferenceId="api.localaccountsignup.es" />
    ...

Metadata localAccountSignUpWithLogonEmail self-asserted technického profilu obsahuje identifikátor definice obsahu ContentDefinitionReferenceId nastavený na api.localaccountsignup

<TechnicalProfile Id="LocalAccountSignUpWithLogonEmail">
  <DisplayName>Email signup</DisplayName>
  <Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.SelfAssertedAttributeProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
  <Metadata>
    <Item Key="ContentDefinitionReferenceId">api.localaccountsignup</Item>
    ...
  </Metadata>
  ...

Definice obsahu

Element ContentDefinition obsahuje následující atribut:

Vlastnost Povinné Popis
identifikační číslo Ano Identifikátor definice obsahu. Hodnota je jedna zadaná v části ID definic obsahu dále na této stránce.

Element ContentDefinition obsahuje následující prvky:

prvek Výskyty Popis
LoadUri 1:1 Řetězec, který obsahuje adresu URL stránky HTML5 pro definici obsahu.
Identifikátor RecoveryURI 1:1 Řetězec, který obsahuje adresu URL stránky HTML pro zobrazení chyby související s definicí obsahu. Aktuálně se nepoužívá, hodnota musí být ~/common/default_page_error.html.
Identifikátor DataUri 1:1 Řetězec, který obsahuje relativní adresu URL souboru HTML, který poskytuje uživatelské prostředí pro vyvolání kroku.
Metadatové informace 0:1 Kolekce párů klíč/hodnota, které obsahují metadata využívaná definicí obsahu.
Odkazy na lokalizované zdroje 0:1 Kolekce odkazů na lokalizované prostředky Tento prvek slouží k přizpůsobení lokalizace uživatelského rozhraní a atributu deklarací identity.

LoadUri

Element LoadUri slouží k určení adresy URL stránky HTML5 pro definici obsahu. Úvodní balíčky vlastních zásad Azure AD B2C obsahují definice obsahu, které používají stránky HTML Azure AD B2C. LoadUri začíná ~, což je relativní cesta k vašemu tenantovi Azure AD B2C.

<ContentDefinition Id="api.signuporsignin">
  <LoadUri>~/tenant/templates/AzureBlue/unified.cshtml</LoadUri>
  ...
</ContentDefinition>

Uživatelské rozhraní můžete přizpůsobit pomocí šablon HTML. Při použití šablon HTML zadejte absolutní adresu URL. Následující příklad znázorňuje definici obsahu pomocí šablony HTML:

<ContentDefinition Id="api.signuporsignin">
  <LoadUri>https://your-storage-account.blob.core.windows.net/your-container/customize-ui.html</LoadUri>
  ...
</ContentDefinition>

Identifikátor DataUri

Element DataUri slouží k určení identifikátoru stránky. Azure AD B2C používá identifikátor stránky k načtení a zahájení prvků uživatelského rozhraní a JavaScriptu na straně klienta. Formát hodnoty je urn:com:microsoft:aad:b2c:elements:page-name:version. Následující tabulka uvádí identifikátory stránek, které můžete použít.

Identifikátor stránky Popis
globalexception Zobrazí chybovou stránku, když dojde k výjimce nebo chybě.
providerselection, idpselection Zobrazí seznam zprostředkovatelů identity, které si uživatelé můžou vybrat při přihlašování.
unifiedssp Zobrazí formulář pro přihlášení pomocí místního účtu, který je založený na e-mailové adrese nebo uživatelském jménu. Tato hodnota také poskytuje odkaz "Zachovat přihlašovací funkce" a "Zapomněli jste heslo?".
unifiedssd Zobrazí formulář pro přihlášení pomocí místního účtu, který je založený na e-mailové adrese nebo uživatelském jménu. Tento identifikátor stránky je zastaralý. unifiedssp Místo toho použijte identifikátor stránky.
multifactor Ověřuje telefonní čísla pomocí textu nebo hlasu během registrace nebo přihlášení.
selfasserted Zobrazí formulář pro shromažďování dat od uživatele. Umožňuje například uživatelům vytvářet nebo aktualizovat svůj profil.

Výběr rozložení stránky

JavaScriptový kód na straně klienta můžete povolit vložením contract mezi elements a typ stránky. Například: urn:com:microsoft:aad:b2c:elements:contract:page-name:version.

Část verzeDataUri určuje balíček obsahu obsahujícího html, CSS a JavaScript pro prvky uživatelského rozhraní ve vašich zásadách. Pokud máte v úmyslu povolit javascriptový kód na straně klienta, musí být prvky, na kterých javascript založíte, neměnné. Pokud nejsou neměnné, můžou jakékoli změny způsobit neočekávané chování na vašich uživatelských stránkách. Pokud chcete těmto problémům zabránit, vynucujte použití rozložení stránky a zadejte verzi rozložení stránky. Tím zajistíte, že všechny definice obsahu, na které jste vytvořili JavaScript, budou neměnné. I když nemáte v úmyslu povolit JavaScript, musíte pro své stránky zadat verzi rozložení stránky.

Následující příklad ukazuje Identifikátor DataUri verze selfasserted1.2.0:

<!-- 
<BuildingBlocks> 
  <ContentDefinitions>-->
    <ContentDefinition Id="api.localaccountpasswordreset">
      <LoadUri>~/tenant/templates/AzureBlue/selfAsserted.cshtml</LoadUri>
      <RecoveryUri>~/common/default_page_error.html</RecoveryUri>
      <DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:1.2.0</DataUri>
      <Metadata>
        <Item Key="DisplayName">Local account change password page</Item>
      </Metadata>
    </ContentDefinition>
  <!-- 
  </ContentDefinitions> 
</BuildingBlocks> -->

Migrace na rozložení stránky

Pokud chcete migrovat ze staré hodnoty DataUri (bez kontraktu stránky) na verzi rozložení stránky, přidejte slovo contract , které následuje po verzi stránky. Následující tabulka slouží k migraci ze staré hodnoty DataUri na verzi rozložení stránky.

Stará hodnota DataUri Hodnota New DataUri
urn:com:microsoft:aad:b2c:elements:globalexception:1.0.0 urn:com:microsoft:aad:b2c:elements:contract:globalexception:1.2.1
urn:com:microsoft:aad:b2c:elements:globalexception:1.1.0 urn:com:microsoft:aad:b2c:elements:contract:globalexception:1.2.1
urn:com:microsoft:aad:b2c:elements:idpselection:1.0.0 urn:com:microsoft:aad:b2c:elements:contract:providerselection:1.2.1
urn:com:microsoft:aad:b2c:elements:selfasserted:1.0.0 urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.1.7
urn:com:microsoft:aad:b2c:elements:selfasserted:1.1.0 urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.1.7
urn:com:microsoft:aad:b2c:elements:unifiedssd:1.0.0 urn:com:microsoft:aad:b2c:elements:contract:unifiedssd:1.2.1
urn:com:microsoft:aad:b2c:elements:unifiedssp:1.0.0 urn:com:microsoft:aad:b2c:elements:contract:unifiedssp:2.1.5
urn:com:microsoft:aad:b2c:elements:unifiedssp:1.1.0 urn:com:microsoft:aad:b2c:elements:contract:unifiedssp:2.1.5
urn:com:microsoft:aad:b2c:elements:multifactor:1.0.0 urn:com:microsoft:aad:b2c:elements:contract:multifactor:1.2.5
urn:com:microsoft:aad:b2c:elements:multifactor:1.1.0 urn:com:microsoft:aad:b2c:elements:contract:multifactor:1.2.5

Následující příklad ukazuje identifikátory definic obsahu a odpovídající identifikátory DataUri s nejnovější verzí stránky:

<!-- 
<BuildingBlocks> -->
  <ContentDefinitions>
    <ContentDefinition Id="api.error">
      <DataUri>urn:com:microsoft:aad:b2c:elements:contract:globalexception:1.2.1</DataUri>
    </ContentDefinition>
    <ContentDefinition Id="api.idpselections">
      <DataUri>urn:com:microsoft:aad:b2c:elements:contract:providerselection:1.2.1</DataUri>
    </ContentDefinition>
    <ContentDefinition Id="api.idpselections.signup">
      <DataUri>urn:com:microsoft:aad:b2c:elements:contract:providerselection:1.2.1</DataUri>
    </ContentDefinition>
    <ContentDefinition Id="api.signuporsignin">
      <DataUri>urn:com:microsoft:aad:b2c:elements:contract:unifiedssp:2.1.7</DataUri>
    </ContentDefinition>
    <ContentDefinition Id="api.selfasserted">
      <DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.1.14</DataUri>
    </ContentDefinition>
    <ContentDefinition Id="api.selfasserted.profileupdate">
      <DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.1.14</DataUri>
    </ContentDefinition>
    <ContentDefinition Id="api.localaccountsignup">
      <DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.1.14</DataUri>
    </ContentDefinition>
    <ContentDefinition Id="api.localaccountpasswordreset">
      <DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.1.14</DataUri>
    </ContentDefinition>
    <ContentDefinition Id="api.phonefactor">
      <RecoveryUri>~/common/default_page_error.html</RecoveryUri>
      <DataUri>urn:com:microsoft:aad:b2c:elements:contract:multifactor:1.2.5</DataUri>
    </ContentDefinition>
  </ContentDefinitions>
<!-- 
</BuildingBlocks> -->

Metadatové informace

Element Metadata obsahuje následující prvky:

prvek Výskyty Popis
Položka 0:n Metadata, která se vztahují k definici obsahu.

Element Item elementu Metadata obsahuje následující atributy:

Vlastnost Povinné Popis
Klíč Ano Klíč metadat.

Klíče metadat

Definice obsahu podporuje následující položky metadat:

Klíč Povinné Popis
ZobrazovanéJméno Ne Řetězec, který obsahuje název definice obsahu.

Odkazy na lokalizované zdroje

Element LocalizedResourcesReferences obsahuje následující prvky:

prvek Výskyty Popis
Odkaz na lokalizované zdroje 1:n Seznam lokalizovaných odkazů na prostředky pro definici obsahu.

Element LocalizedResourcesReference obsahuje následující atributy:

Vlastnost Povinné Popis
Jazyk Ano Řetězec, který obsahuje podporovaný jazyk pro zásadu na RFC 5646 – značky pro identifikaci jazyků.
LocalizedResourcesReferenceId Ano Identifikátor elementu LocalizedResources .

Následující příklad ukazuje definici obsahu registrace nebo přihlašování s odkazem na lokalizaci pro angličtinu, francouzštinu a španělštinu:

<ContentDefinition Id="api.signuporsignin">
  <LoadUri>~/tenant/default/unified.cshtml</LoadUri>
  <RecoveryUri>~/common/default_page_error.html</RecoveryUri>
  <DataUri>urn:com:microsoft:aad:b2c:elements:unifiedssp:1.0.0</DataUri>
  <Metadata>
    <Item Key="DisplayName">Signin and Signup</Item>
  </Metadata>
  <LocalizedResourcesReferences MergeBehavior="Prepend">
    <LocalizedResourcesReference Language="en" LocalizedResourcesReferenceId="api.signuporsignin.en" />
    <LocalizedResourcesReference Language="fr" LocalizedResourcesReferenceId="api.signuporsignin.rf" />
    <LocalizedResourcesReference Language="es" LocalizedResourcesReferenceId="api.signuporsignin.es" />
</LocalizedResourcesReferences>
</ContentDefinition>

Informace o tom, jak do definic obsahu přidat podporu lokalizace, najdete v tématu Lokalizace.

ID definic obsahu

Atribut ID elementu ContentDefinition určuje typ stránky, která se vztahuje k definici obsahu. Element definuje kontext, který použije vlastní šablona HTML5/CSS. Následující tabulka popisuje sadu ID definic obsahu rozpoznaných architekturou prostředí identit a typy stránek, které s nimi souvisejí. Můžete vytvořit vlastní definice obsahu s libovolným ID.

Průkaz totožnosti Výchozí šablona Popis
api.error výjimka.cshtml Chybová stránka – zobrazí chybovou stránku, když dojde k výjimce nebo chybě.
api.idpselections idpSelector.cshtml Stránka výběru zprostředkovatele identity – Zobrazí seznam zprostředkovatelů identity, které si uživatelé můžou vybrat při přihlašování. Tyto možnosti jsou obvykle zprostředkovatelé podnikových identit, zprostředkovatelé sociálních identit, jako jsou Facebook a Google+, nebo místní účty.
api.idpselections.signup idpSelector.cshtml Výběr zprostředkovatele identity pro registraci – Vypíše zprostředkovatele identity, které si uživatelé můžou vybrat během registrace. Tyto možnosti jsou obvykle zprostředkovatelé podnikových identit, zprostředkovatelé sociálních identit, jako jsou Facebook a Google+, nebo místní účty.
api.localaccountpasswordreset selfasserted.cshtml Stránka Zapomenuté heslo – Zobrazí formulář, který musí uživatelé dokončit, aby mohli zahájit resetování hesla.
api.localaccountsignin selfasserted.cshtml Přihlašovací stránka místního účtu – Zobrazí formulář pro přihlášení pomocí místního účtu, který je založený na e-mailové adrese nebo uživatelském jménu. Formulář může obsahovat textové vstupní pole a pole pro zadání hesla.
api.localaccountsignup selfasserted.cshtml Přihlašovací stránka místního účtu – Zobrazí formulář pro registraci místního účtu, který je založený na e-mailové adrese nebo uživatelském jménu. Formulář může obsahovat různé vstupní ovládací prvky, například: textové vstupní pole, pole pro zadání hesla, přepínač, rozevírací pole s jedním výběrem a zaškrtávací políčka s vícenásobným zaškrtnutím.
api.phonefactor multifactor-1.0.0.cshtml Stránka vícefaktorového ověřování – Ověřuje telefonní čísla pomocí textu nebo hlasu během registrace nebo přihlášení.
api.selfasserted selfasserted.cshtml Přihlašovací stránka sociálních účtů – zobrazí formulář, který musí uživatelé dokončit při registraci pomocí existujícího účtu od zprostředkovatele sociální identity. Tato stránka se podobá předchozí registrační stránce sociálního účtu s výjimkou polí pro zadání hesla.
api.selfasserted.profileupdate updateprofile.cshtml Stránka aktualizace profilu – zobrazí formulář, ke kterému mají uživatelé přístup, aby mohli aktualizovat svůj profil. Tato stránka se podobá registrační stránce sociálního účtu s výjimkou polí pro zadání hesla.
api.signuporsignin sjednocený.cshtml Sjednocená registrační nebo přihlašovací stránka – Zpracovává proces registrace a přihlašování uživatele. Uživatelé můžou používat zprostředkovatele podnikových identit, zprostředkovatele sociálních identit, jako je Facebook nebo Google+, nebo místní účty.

Další kroky

Příklad přizpůsobení uživatelského rozhraní pomocí definic obsahu najdete tady:

Přizpůsobení uživatelského rozhraní aplikace pomocí vlastních zásad