Share via


ContentDefinitions

Megjegyzés

Az Azure Active Directory B2C-ben az egyéni szabályzatok elsősorban összetett forgatókönyvek kezelésére szolgálnak. A legtöbb esetben javasoljuk, hogy beépített felhasználói folyamatokat használjon. Ha még nem tette meg, az egyéni szabályzatok kezdőcsomagjáról az Ismerkedés az egyéni szabályzatokkal az Active Directory B2C-ben című témakörben olvashat.

Bármely önaláért technikai profil megjelenését és hangulatát testre szabhatja. Az Azure Active Directory B2C (Azure AD B2C) az ügyfél böngészőjében futtatja a kódot, és az eltérő eredetű erőforrások megosztásának (CORS) modern megközelítését használja.

A felhasználói felület testreszabásához meg kell adnia egy URL-címet a ContentDefinition elemben, testre szabott HTML-tartalommal. Az önkiszolgáló műszaki profilban vagy az OrchestrationStep-ben erre a tartalomdefiníció-azonosítóra mutat. A tartalomdefiníció tartalmazhat egy LocalizedResourcesReferences elemet, amely meghatározza a betöltendő honosított erőforrások listáját. Azure AD B2C egyesíti a felhasználói felület elemeit az URL-címről betöltött HTML-tartalommal, majd megjeleníti a lapot a felhasználónak.

A ContentDefinitions elem a felhasználói folyamat során használható HTML5-sablonok URL-címeit tartalmazza. A HTML5-lap URI-ja egy adott felhasználói felületi lépéshez használatos. Például a bejelentkezési vagy regisztrációs, a jelszó-visszaállítási vagy a hibaoldalak. A html5-fájl LoadUri-jának felülbírálásával módosíthatja a megjelenést és az érzetet. Az igényeinek megfelelően új tartalomdefiníciókat hozhat létre. Ez az elem tartalmazhat honosított erőforrásokra mutató hivatkozást a Honosítás elemben megadott honosítási azonosítóra.

Az alábbi példa a tartalomdefiníció azonosítóját és a honosított erőforrások definícióját mutatja be:

<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" />
    ...

A LocalAccountSignUpWithLogonEmail önkiszolgáló műszaki profil metaadatai tartalmazzák a ContentDefinitionReferenceId tartalomdefinícióazonosítót a következő értékre állítva: 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>
  ...

ContentDefinition

A ContentDefinition elem a következő attribútumot tartalmazza:

Attribútum Kötelező Leírás
Id Igen Egy tartalomdefiníció azonosítója. Az érték a lap későbbi, Tartalomdefiníciós azonosítók szakaszában megadott érték.

A ContentDefinition elem a következő elemeket tartalmazza:

Elem Események Leírás
LoadUri 1:1 A tartalomdefiníció HTML5-lapjának URL-címét tartalmazó sztring.
RecoveryUri 1:1 Egy sztring, amely a HTML-oldal URL-címét tartalmazza a tartalomdefinícióval kapcsolatos hiba megjelenítéséhez. Jelenleg nincs használatban, az értéknek a következőnek kell lennie ~/common/default_page_error.html: .
DataUri 1:1 Egy olyan sztring, amely egy HTML-fájl relatív URL-címét tartalmazza, amely biztosítja a lépéshez meghívandó felhasználói élményt.
Metaadatok 0:1 Kulcs/érték párok gyűjteménye, amely a tartalomdefiníció által használt metaadatokat tartalmazza.
LocalizedResourcesReferences 0:1 Honosított erőforrásokra mutató hivatkozások gyűjteménye. Ezzel az elemmel testre szabhatja a felhasználói felület és a jogcímattribútum honosítását.

LoadUri

A LoadUri elem a tartalomdefiníció HTML5-lapjának URL-címének megadására szolgál. A Azure AD B2C egyéni szabályzat kezdőcsomagjai olyan tartalomdefiníciókat tartalmaz, amelyek Azure AD B2C HTML-oldalakat használnak. A LoadUri a következővel ~kezdődik: , amely a Azure AD B2C-bérlő relatív elérési útja.

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

A felhasználói felületet HTML-sablonokkal szabhatja testre. HTML-sablonok használatakor adjon meg egy abszolút URL-címet. Az alábbi példa egy HTML-sablonnal rendelkező tartalomdefiníciót mutat be:

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

DataUri

A DataUri elem az oldalazonosító megadására szolgál. Azure AD B2C az oldalazonosítóval tölti be és kezdeményezi a felhasználói felület elemeit és az ügyféloldali JavaScriptet. Az érték formátuma : urn:com:microsoft:aad:b2c:elements:page-name:version. Az alábbi táblázat a használható oldalazonosítókat sorolja fel.

Oldalazonosító Leírás
globalexception Hibaoldalt jelenít meg kivétel vagy hiba esetén.
providerselection, idpselection Felsorolja azokat az identitásszolgáltatókat, amelyek közül a felhasználók a bejelentkezés során választhatnak.
unifiedssp Egy e-mail-címen vagy felhasználónéven alapuló helyi fiókkal való bejelentkezéshez használható űrlapot jelenít meg. Ez az érték a "Bejelentkezési funkció megtartása" és az "Elfelejtette a jelszavát?" hivatkozást is tartalmazza.
unifiedssd Egy e-mail-címen vagy felhasználónéven alapuló helyi fiókkal való bejelentkezéshez használható űrlapot jelenít meg. Ez a lapazonosító elavult. Használja helyette az unifiedssp oldalazonosítót.
multifactor A telefonszámokat sms-ben vagy hangon keresztül ellenőrzi a regisztráció vagy a bejelentkezés során.
selfasserted Megjelenít egy űrlapot, amely adatokat gyűjt egy felhasználótól. Lehetővé teszi például, hogy a felhasználók létrehozhassák vagy frissíthessék a profiljukat.

Lapelrendezés kiválasztása

A JavaScript ügyféloldali kódjának engedélyezéséhez szúrja be contract a és az oldaltípust elements . Például: urn:com:microsoft:aad:b2c:elements:contract:page-name:version.

A verzió része határozza meg a DataUri szabályzat felhasználói felületének elemeihez tartozó HTML-, CSS- és JavaScript-tartalomcsomagot. Ha engedélyezni szeretné a JavaScript ügyféloldali kódját, a JavaScript alapjául szolgáló elemeknek nem módosíthatóknak kell lenniük. Ha nem módosíthatók, a módosítások váratlan viselkedést okozhatnak a felhasználói oldalakon. A problémák elkerülése érdekében kényszerítse ki a lapelrendezés használatát, és adja meg a lapelrendezés verzióját. Ezzel biztosítja, hogy a JavaScripten alapuló tartalomdefiníciók nem módosíthatók. Még ha nem is szeretné engedélyezni a JavaScriptet, akkor is meg kell adnia a lapok lapelrendezésének verzióját.

Az alábbi példa a verzió 1.2.0DataUri-játselfasserted mutatja be:

<!-- 
<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> -->

Migrálás lapelrendezésre

Ha a régi DataUri-értékről (oldalszerződés nélkül) lapelrendezési verzióra szeretne áttérni, adja hozzá a következő szót contract egy oldalverzióval. Az alábbi táblázat segítségével migrálhatja a régi DataUri-értékről a lapelrendezés verziójára.

Régi DataUri-érték Új DataUri-érték
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

Az alábbi példa a tartalomdefiníció-azonosítókat és a megfelelő DataUri-t mutatja be a legújabb lapverzióval:

<!-- 
<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> -->

Metaadatok

A Metadata elem a következő elemeket tartalmazza:

Elem Események Leírás
Elem 0:n A tartalomdefinícióhoz kapcsolódó metaadatok.

A Metadata elem Item eleme a következő attribútumokat tartalmazza:

Attribútum Kötelező Leírás
Kulcs Igen A metaadatkulcs.

Metaadat-kulcsok

A tartalomdefiníció a következő metaadat-elemeket támogatja:

Kulcs Kötelező Leírás
DisplayName Nem A tartalomdefiníció nevét tartalmazó sztring.

LocalizedResourcesReferences

A LocalizedResourcesReferences elem a következő elemeket tartalmazza:

Elem Események Leírás
LocalizedResourcesReference 1:n A tartalomdefiníció honosított erőforrás-hivatkozásainak listája.

A LocalizedResourcesReference elem a következő attribútumokat tartalmazza:

Attribútum Kötelező Leírás
Nyelv Igen Olyan sztring, amely támogatja a szabályzat támogatott nyelvét az RFC 5646 – Címkék az azonosító nyelvekhez.
LocalizedResourcesReferenceId Igen A LocalizedResources elem azonosítója.

Az alábbi példa egy regisztrációs vagy bejelentkezési tartalomdefiníciót mutat be, amely az angol, a francia és a spanyol nyelv honosítására hivatkozik:

<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>

Ha tudni szeretné, hogyan adhat hozzá honosítási támogatást a tartalomdefiníciókhoz, olvassa el a Honosítás című témakört.

Tartalomdefiníciós azonosítók

A ContentDefinition elem ID attribútuma határozza meg a tartalomdefinícióhoz kapcsolódó oldal típusát. Az elem határozza meg azt a környezetet, amelyet egy egyéni HTML5/CSS-sablon alkalmazni fog. Az alábbi táblázat az Identity Experience Framework által felismert tartalomdefiníciós azonosítókat és a hozzájuk kapcsolódó oldaltípusokat ismerteti. Létrehozhat saját tartalomdefiníciókat tetszőleges azonosítóval.

ID (Azonosító) Alapértelmezett sablon Leírás
api.error exception.cshtml Hibalap – Hibaoldalt jelenít meg kivétel vagy hiba esetén.
api.idpselections idpSelector.cshtml Identitásszolgáltató kiválasztási lapja – Felsorolja azokat az identitásszolgáltatókat, amelyek közül a felhasználók a bejelentkezés során választhatnak. A lehetőségek általában vállalati identitásszolgáltatók, közösségi identitásszolgáltatók, például Facebook és Google+ vagy helyi fiókok.
api.idpselections.signup idpSelector.cshtml Identitásszolgáltató kiválasztása regisztrációhoz – Felsorolja azokat az identitásszolgáltatókat, amelyek közül a felhasználók választhatnak a regisztráció során. A lehetőségek általában vállalati identitásszolgáltatók, közösségi identitásszolgáltatók, például Facebook és Google+ vagy helyi fiókok.
api.localaccountpasswordreset selfasserted.cshtml Elfelejtett jelszó lap – Egy űrlapot jelenít meg, amelyet a felhasználóknak be kell fejezniük a jelszó alaphelyzetbe állításának kezdeményezéséhez.
api.localaccountsignin selfasserted.cshtml Helyi fiók bejelentkezési lapja – Megjeleníti a helyi fiókkal való bejelentkezés űrlapját, amely egy e-mail-cím vagy egy felhasználónév alapján van megadva. Az űrlap tartalmazhat szövegbeviteli mezőt és jelszóbeviteli mezőt.
api.localaccountsignup selfasserted.cshtml Helyi fiók regisztrációs lapja – Megjeleníti a helyi fiókra való regisztráció űrlapját, amely egy e-mail-cím vagy egy felhasználónév alapján van megadva. Az űrlap különböző beviteli vezérlőket tartalmazhat, például: szövegbeviteli mezőt, jelszóbeviteli mezőt, választógombot, egyszeres kijelölésű legördülő listát és több jelölőnégyzetet.
api.phonefactor multifactor-1.0.0.cshtml Többtényezős hitelesítés lap – A telefonszámok szöveges vagy hangalapú ellenőrzése a regisztráció vagy a bejelentkezés során.
api.selfasserted selfasserted.cshtml Közösségi fiók regisztrációs oldala – Egy űrlapot jelenít meg, amelyet a felhasználóknak ki kell fejezniük, amikor egy közösségi identitásszolgáltató meglévő fiókjával regisztrálnak. Ez a lap hasonló az előző közösségi fiók regisztrációs oldalához, kivéve a jelszóbeviteli mezőket.
api.selfasserted.profileupdate updateprofile.cshtml Profilfrissítési lap – Azt az űrlapot jeleníti meg, amelyhez a felhasználók hozzáférhetnek a profiljuk frissítéséhez. Ez a lap hasonló a közösségi fiók regisztrációs oldalához, kivéve a jelszóbeviteli mezőket.
api.signuporsignin unified.cshtml Egységes regisztrációs vagy bejelentkezési oldal – Kezeli a felhasználói regisztrációt és a bejelentkezési folyamatot. A felhasználók vállalati identitásszolgáltatókat, közösségi identitásszolgáltatókat, például Facebook- vagy Google+-fiókokat vagy helyi fiókokat használhatnak.

Következő lépések

A felhasználói felület tartalomdefiníciók használatával történő testreszabására vonatkozó példa:

Az alkalmazás felhasználói felületének testreszabása egyéni szabályzattal