Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Viktigt!
Från och med den 1 maj 2025 är Azure AD B2C inte längre tillgängligt att köpa för nya kunder. Läs mer i våra vanliga frågor och svar.
Anmärkning
I Azure Active Directory B2C är anpassade principer främst utformade för att hantera komplexa scenarier. I de flesta scenarier rekommenderar vi att du använder inbyggda användarflöden. Om du inte har gjort det kan du läsa mer om startpaketet för anpassad princip i Kom igång med anpassade principer i Active Directory B2C.
Du kan anpassa utseendet och känslan för alla självsäkra tekniska profiler. Azure Active Directory B2C (Azure AD B2C) kör kod i kundens webbläsare och använder en modern metod som kallas Resursdelning mellan ursprung (CORS).
Om du vill anpassa användargränssnittet anger du en URL i elementet ContentDefinition med anpassat HTML-innehåll. I den självsäkra tekniska profilen eller OrchestrationStep pekar du på den innehållsdefinitionsidentifieraren. Innehållsdefinitionen kan innehålla elementet LocalizedResourcesReferences som anger en lista över lokaliserade resurser som ska läsas in. Azure AD B2C sammanfogar användargränssnittselement med HTML-innehållet som läses in från url:en och visar sedan sidan för användaren.
Elementet ContentDefinitions innehåller URL:er till HTML5-mallar som kan användas under en användarresa. HTML5-sidans URI används för ett angivet användargränssnittssteg. Till exempel inloggnings-, registrerings-, lösenordsåterställnings- eller felsidor. Du kan ändra utseendet och känslan genom att åsidosätta LoadUri för HTML5-filen. Du kan skapa nya innehållsdefinitioner efter dina behov. Det här elementet kan innehålla en referens för lokaliserade resurser till lokaliseringsidentifieraren som anges i lokaliseringselementet .
I följande exempel visas innehållsdefinitionsidentifieraren och definitionen av lokaliserade resurser:
<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 för den självsäkra tekniska profilen LocalAccountSignUpWithLogonEmail innehåller innehållsdefinitionsidentifieraren ContentDefinitionReferenceId inställd på 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>
...
InnehållDefinition
Elementet ContentDefinition innehåller följande attribut:
| Egenskap | Krävs | Beskrivning |
|---|---|---|
| Id | Ja | En identifierare för en innehållsdefinition. Värdet är ett som anges i avsnittet Innehållsdefinitions-ID senare på den här sidan. |
Elementet ContentDefinition innehåller följande element:
| Komponent | Händelser | Beskrivning |
|---|---|---|
| LoadUri (på engelska) | 1:1 | En sträng som innehåller URL:en för HTML5-sidan för innehållsdefinitionen. |
| RecoveryUri (ÅterhämtningUri) | 1:1 | En sträng som innehåller URL:en för HTML-sidan för att visa ett fel som rör innehållsdefinitionen. För närvarande används inte värdet ~/common/default_page_error.html. |
| DataUri (på engelska) | 1:1 | En sträng som innehåller den relativa URL:en för en HTML-fil som ger användarupplevelsen att anropa för steget. |
| Metainformation | 0:1 | En samling nyckel/värde-par som innehåller metadata som används av innehållsdefinitionen. |
| LocalizedResourcesReferences (Lokaliserade resurserReferenser) | 0:1 | En samling lokaliserade resursreferenser. Använd det här elementet för att anpassa lokaliseringen av ett användargränssnitt och anspråksattribut. |
LoadUri (på engelska)
LoadUri-elementet används för att ange URL:en för HTML5-sidan för innehållsdefinitionen.
Startpaket för azure AD B2C-anpassade principer levereras med innehållsdefinitioner som använder Azure AD B2C HTML-sidor.
LoadUri börjar med ~, vilket är en relativ sökväg till din Azure AD B2C-klientorganisation.
<ContentDefinition Id="api.signuporsignin">
<LoadUri>~/tenant/templates/AzureBlue/unified.cshtml</LoadUri>
...
</ContentDefinition>
Du kan anpassa användargränssnittet med HTML-mallar. Ange en absolut URL när du använder HTML-mallar. I följande exempel visas en innehållsdefinition med HTML-mall:
<ContentDefinition Id="api.signuporsignin">
<LoadUri>https://your-storage-account.blob.core.windows.net/your-container/customize-ui.html</LoadUri>
...
</ContentDefinition>
DataUri (på engelska)
DataUri-elementet används för att ange sididentifieraren. Azure AD B2C använder sididentifieraren för att läsa in och initiera användargränssnittselement och JavaScript på klientsidan. Värdets format är urn:com:microsoft:aad:b2c:elements:page-name:version. I följande tabell visas de sididentifierare som du kan använda.
| Sididentifierare | Beskrivning |
|---|---|
globalexception |
Visar en felsida när ett undantag eller ett fel påträffas. |
providerselection, idpselection |
Visar en lista över identitetsprovidrar som användarna kan välja mellan under inloggningen. |
unifiedssp |
Visar ett formulär för att logga in med ett lokalt konto som baseras på en e-postadress eller ett användarnamn. Det här värdet innehåller också länken "Behåll inloggningsfunktionen" och "Har du glömt ditt lösenord?". |
unifiedssd |
Visar ett formulär för inloggning med ett lokalt konto som baseras på en e-postadress eller ett användarnamn. Den här sididentifieraren är inaktuell. Använd sididentifieraren unifiedssp i stället. |
multifactor |
Verifierar telefonnummer med hjälp av text eller röst under registrering eller inloggning. |
selfasserted |
Visar ett formulär för att samla in data från en användare. Gör det till exempel möjligt för användare att skapa eller uppdatera sin profil. |
Välj en sidlayout
Du kan aktivera JavaScript-kod på klientsidan genom att contract infoga mellan elements och sidtypen. Till exempel urn:com:microsoft:aad:b2c:elements:contract:page-name:version.
Versionsdelen av DataUri anger paketet med innehåll som innehåller HTML, CSS och JavaScript för användargränssnittselementen i principen. Om du tänker aktivera JavaScript-kod på klientsidan måste de element som du baserar JavaScript på vara oföränderliga. Om de inte är oföränderliga kan eventuella ändringar orsaka oväntat beteende på dina användarsidor. Du kan förhindra dessa problem genom att använda en sidlayout och ange en sidlayoutversion. Detta säkerställer att alla innehållsdefinitioner som du har baserat JavaScript på är oföränderliga. Även om du inte tänker aktivera JavaScript måste du fortfarande ange sidlayoutversionen för dina sidor.
I följande exempel visas DataUriselfasserted för version 1.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> -->
Migrera till sidlayout
Om du vill migrera från det gamla DataUri-värdet (utan sidkontrakt) till sidlayoutversionen lägger du till ordet follow by a page version (ord contract följer efter en sidversion). Använd följande tabell för att migrera från det gamla DataUri-värdet till sidlayoutversionen.
| Gammalt DataUri-värde | Nytt DataUri-värde |
|---|---|
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 |
I följande exempel visas identifierare för innehållsdefinition och motsvarande DataUri med den senaste sidversionen:
<!--
<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> -->
Metainformation
Ett metadataelement innehåller följande element:
| Komponent | Händelser | Beskrivning |
|---|---|---|
| Objekt | 0:n | Metadata som relaterar till innehållsdefinitionen. |
Elementet Item i metadataelementet innehåller följande attribut:
| Egenskap | Krävs | Beskrivning |
|---|---|---|
| Nyckel | Ja | Metadatanyckeln. |
Metadatanycklar
Innehållsdefinition stöder följande metadataobjekt:
| Nyckel | Krävs | Beskrivning |
|---|---|---|
| visningsnamn | Nej | En sträng som innehåller namnet på innehållsdefinitionen. |
LocalizedResourcesReferences (Lokaliserade resurserReferenser)
Elementet LocalizedResourcesReferences innehåller följande element:
| Komponent | Händelser | Beskrivning |
|---|---|---|
| LocalizedResourcesReference (LokaliseradeResurserReferens) | 1:n | En lista över lokaliserade resursreferenser för innehållsdefinitionen. |
Elementet LocalizedResourcesReference innehåller följande attribut:
| Egenskap | Krävs | Beskrivning |
|---|---|---|
| Språk | Ja | En sträng som innehåller ett språk som stöds för principen per RFC 5646 – Taggar för att identifiera språk. |
| LocalizedResourcesReferenceId (på engelska) | Ja | Identifieraren för elementet LocalizedResources . |
I följande exempel visas en innehållsdefinition för registrering eller inloggning med en referens till lokalisering för engelska, franska och spanska:
<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>
Mer information om hur du lägger till lokaliseringsstöd för dina innehållsdefinitioner finns i Lokalisering.
Innehållsdefinitions-ID:t
ID-attributet för ContentDefinition-elementet anger vilken typ av sida som relaterar till innehållsdefinitionen. Elementet definierar kontexten som en anpassad HTML5/CSS-mall ska gälla. I följande tabell beskrivs den uppsättning innehållsdefinitions-ID:er som identifieras av Identity Experience Framework och de sidtyper som är relaterade till dem. Du kan skapa egna innehållsdefinitioner med ett godtyckligt ID.
| ID-nummer | Förvalsmall | Beskrivning |
|---|---|---|
| api.error | exception.cshtml | Felsida – Visar en felsida när ett undantag eller ett fel påträffas. |
| api.idpselections | idpSelector.cshtml | Sidan för val av identitetsprovider – Visar en lista över identitetsprovidrar som användarna kan välja mellan under inloggningen. Alternativen är vanligtvis företagsidentitetsprovidrar, sociala identitetsprovidrar som Facebook och Google+ eller lokala konton. |
| api.idpselections.signup | idpSelector.cshtml | Val av identitetsprovider för registrering – visar en lista över identitetsprovidrar som användarna kan välja mellan under registreringen. Alternativen är vanligtvis företagsidentitetsprovidrar, sociala identitetsprovidrar som Facebook och Google+ eller lokala konton. |
| api.localaccountpasswordreset | selfasserted.cshtml | Sidan Glömt lösenord – Visar ett formulär som användarna måste slutföra för att initiera en lösenordsåterställning. |
| api.localaccountsignin | selfasserted.cshtml | Inloggningssida för lokalt konto – Visar ett formulär för inloggning med ett lokalt konto som baseras på en e-postadress eller ett användarnamn. Formuläret kan innehålla en textinmatningsruta och en lösenordspostruta. |
| api.localaccountsignup | selfasserted.cshtml | Registreringssida för lokalt konto – Visar ett formulär för registrering för ett lokalt konto som baseras på en e-postadress eller ett användarnamn. Formuläret kan innehålla olika indatakontroller, till exempel: en textinmatningsruta, en lösenordspostruta, en alternativknapp, listrutor med enkelmarkering och kryssrutor med flera markeringar. |
| api.phonefactor | multifaktor-1.0.0.cshtml | Multifaktorautentiseringssida – Verifierar telefonnummer med hjälp av text eller röst, under registrering eller inloggning. |
| api.selfasserted | selfasserted.cshtml | Registreringssida för sociala konton – Visar ett formulär som användarna måste fylla i när de registrerar sig med hjälp av ett befintligt konto från en social identitetsprovider. Den här sidan liknar registreringssidan för det sociala kontot ovan, förutom fälten för lösenordsinmatning. |
| api.selfasserted.profileupdate | updateprofile.cshtml | Profiluppdateringssida – Visar ett formulär som användarna kan komma åt för att uppdatera sin profil. Den här sidan liknar registreringssidan för sociala konton, förutom lösenordsinmatningsfälten. |
| api.signuporsignin | unified.cshtml | Enhetlig registrerings- eller inloggningssida – Hanterar användarens registrering och inloggningsprocess. Användare kan använda företagsidentitetsprovidrar, sociala identitetsprovidrar som Facebook eller Google+ eller lokala konton. |
Nästa steg
Ett exempel på hur du anpassar användargränssnittet med hjälp av innehållsdefinitioner finns i:
Anpassa användargränssnittet för ditt program med hjälp av en anpassad princip