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.0
DataUri-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