You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: articles/active-directory-b2c/customize-ui-overview.md
+43-22Lines changed: 43 additions & 22 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
title: Customize the user interface in user flows in Azure Active Directory B2C
2
+
title: Customize the user interface in Azure Active Directory B2C
3
3
description: Learn how to customize the user interface for your applications that use Azure Active Directory B2C.
4
4
services: active-directory-b2c
5
5
author: mmacy
@@ -13,72 +13,79 @@ ms.author: marsma
13
13
ms.subservice: B2C
14
14
---
15
15
16
-
# Customize the user flow user interface in Azure Active Directory B2C
16
+
# Customize the user interface in Azure Active Directory B2C
17
17
18
-
Branding and customizing the user interface that Azure Active Directory B2C (Azure AD B2C) shows to your customers helps provide a seamless user experience in your application. These experiences include signing up, signing in, profile editing, and password resetting. This article provides information to help you customize the user interface (UI) of your user flows.
18
+
Branding and customizing the user interface that Azure Active Directory B2C (Azure AD B2C) displays to your customers helps provide a seamless user experience in your application. These experiences include signing up, signing in, profile editing, and password resetting. This article introduces the methods of user interface (UI) customization for both user flows and custom policies.
19
19
20
20
## UI customization in different scenarios
21
21
22
22
There are several ways to customize the UI of the user experiences your application, each appropriate for different scenarios.
23
23
24
24
### User flows
25
25
26
-
If you use user flows, you can change the look of your user flow pages by using built-in [page layout templates](#page-layout-templates), or by using your own HTML and CSS.
26
+
If you use [user flows](active-directory-b2c-reference-policies.md), you can change the look of your user flow pages by using built-in *page layout templates*, or by using your own HTML and CSS. Both methods are discussed later in this article.
27
27
28
28
You use the [Azure portal](tutorial-customize-ui.md) to configure the UI customization for user flows.
29
29
30
30
### Custom policies
31
31
32
32
If you're using [custom policies](active-directory-b2c-overview-custom.md) to provide sign-up or sign-in, password reset, or profile-editing in your application, use [policy files to customize the UI](active-directory-b2c-ui-customization-custom.md).
33
33
34
-
If you need to provide dynamic content based on a customer's decision, use custom policies that can [change page content dynamically](active-directory-b2c-ui-customization-custom-dynamic.md) depending on a parameter that's sent in a query string. For example, the background image on the Azure AD B2C sign-up or sign-in page changes, based on a parameter that you pass from your web or mobile application.
34
+
If you need to provide dynamic content based on a customer's decision, use custom policies that can [change page content dynamically](active-directory-b2c-ui-customization-custom-dynamic.md) depending on a parameter that's sent in a query string. For example, you can change the background image on the Azure AD B2C sign-up or sign-in page based on a parameter that you pass from your web or mobile application.
35
35
36
36
### JavaScript
37
37
38
-
You can enable JavaScript client-side code in both [user flows](user-flow-javascript-overview.md) and [custom policies](page-layout.md).
38
+
You can enable client-side JavaScript code in both [user flows](user-flow-javascript-overview.md) and [custom policies](page-layout.md).
39
39
40
-
### Sign-in only UI customization
40
+
### Sign in-only UI customization
41
41
42
42
If you're providing sign-in only, along with its accompanying password reset page and verification emails, use the same customization steps that are used for an [Azure AD sign-in page](../active-directory/fundamentals/customize-branding.md).
43
43
44
44
If customers try to edit their profile before signing in, they're redirected to a page that you customize by using the same steps that are used for customizing the Azure AD sign-in page.
45
45
46
46
## Page layout templates
47
47
48
-
User flows provide three built-in templates you can choose from to give your user experience pages a professional look. These layout templates can also and serve as starting point for your own customization.
48
+
User flows provide several built-in templates you can choose from to give your user experience pages a professional look. These layout templates can also and serve as starting point for your own customization.
49
49
50
-
In the left menu, under **Customize**, select **Page layouts**. Then select **Template (Preview)**.
50
+
In the left menu, under **Customize**, select **Page layouts**. Then select **Template**.
51
51
52
-

52
+

53
53
54
-
Select a template from the list. For example, the **Ocean Blue** template applies the following layout to your user flow pages:
54
+
Select a template from the list. Examples of each of the available templates' sign-in pages appear below.
55
55
56
-

56
+
||||
57
+
|-|-|-|
58
+
||||
59
+
|||
57
60
58
61
When you choose a template, the selected layout is applied to all pages in your user flow, and the URI for each page is visible in the **Custom page URI** field.
59
62
60
63
## Custom HTML and CSS
61
64
62
-
Azure AD B2C runs code in your customer's browser and uses a modern approach called [Cross-Origin Resource Sharing (CORS)](https://www.w3.org/TR/cors/). At runtime, content is loaded from a URL that you specify in a your user flow or custom policy. Each page in the user experience loads its content from a URL you specify for that page. After content is loaded from your URL, it's merged with an HTML fragment inserted by Azure AD B2C, and then the page is displayed to your customer.
65
+
Azure AD B2C runs code in your customer's browser and uses a modern approach called [Cross-Origin Resource Sharing (CORS)](https://www.w3.org/TR/cors/).
66
+
67
+
At runtime, content is loaded from a URL that you specify in a your user flow or custom policy. Each page in the user experience loads its content from the URL you specify for that page. After content is loaded from your URL, it's merged with an HTML fragment inserted by Azure AD B2C, and then the page is displayed to your customer.
63
68
64
69
Review the following guidance before using your own HTML and CSS files to customize the UI:
65
70
66
71
- Azure AD B2C merges HTML content into your pages. Don't copy and try to change the default content that Azure AD B2C provides. It's best to build your HTML content from scratch and use the default content as reference.
67
72
- JavaScript can now be included in your custom content.
68
73
- Supported browser versions are:
69
-
- Internet Explorer 11, 10 and Microsoft Edge
74
+
- Internet Explorer 11, 10, and Microsoft Edge
70
75
- Limited support for Internet Explorer 9 and 8
71
76
- Google Chrome 42.0 and above
72
77
- Mozilla Firefox 38.0 and above
73
-
-Make sure that you don't include form tags in your HTML because it interferes with the POST operations generated by the injected HTML from Azure AD B2C.
78
+
-Don't include form tags in your HTML. Form tags interfere with the POST operations generated by the HTML injected by Azure AD B2C.
74
79
75
80
### Where do I store UI content?
76
81
77
-
When using your own HTML and CSS files to customize the UI, you can host your UI content anywhere, such as on [Azure Blob storage](../storage/blobs/storage-blobs-introduction.md), web servers, CDNs, AWS S3, or file sharing systems. The important point is that you host the content on a publicly available HTTPS endpoint with CORS enabled. You must use an absolute URL when you specify it in your content.
82
+
When using your own HTML and CSS files to customize the UI, you can host your UI content on any publicly available HTTPS endpoint that supports CORS. For example, [Azure Blob storage](../storage/blobs/storage-blobs-introduction.md), web servers, CDNs, AWS S3, or file sharing systems.
83
+
84
+
The important point is that you host the content on a publicly available HTTPS endpoint with CORS enabled. You must use an absolute URL when you specify it in your content.
78
85
79
-
## How do I get started?
86
+
## Get started with custom HTML and CSS
80
87
81
-
You do the following to customize the UI:
88
+
Get started using your own HTML and CSS in your user experience pages by following these guidelines.
82
89
83
90
- Create well-formed HTML content with an empty `<div id="api"></div>` element located somewhere in the `<body>`. This element marks where the Azure AD B2C content is inserted. The following example shows a minimal page:
84
91
@@ -122,7 +129,7 @@ You do the following to customize the UI:
122
129
}
123
130
```
124
131
125
-
- Create or edit a policy to use the content that you created.
132
+
- Create or edit a user flow or custom policy to use the content that you created.
126
133
127
134
The following table lists the HTML fragments that Azure AD B2C merges into the `<divid="api"></div>` element located in your content.
128
135
@@ -135,15 +142,29 @@ The following table lists the HTML fragments that Azure AD B2C merges into the `
135
142
| Multi-factor authentication | Customers can verify their phone numbers (using text or voice) during sign-up or sign-in. |
136
143
| Error | Provides error information to the customer. |
137
144
138
-
## How do I localize content?
145
+
## Localize content
139
146
140
147
You localize your HTML content by enabling [language customization](active-directory-b2c-reference-language-customization.md) in your Azure AD B2C tenant. Enabling this feature allows Azure AD B2C to forward the OpenID Connect parameter `ui-locales` to your endpoint. Your content server can use this parameter to provide language-specific HTML pages.
141
148
142
-
Content can be pulled from different places based on the locale that's used. In your CORS-enabled endpoint, you set up a folder structure to host content for specific languages. You'll call the right one if you use the wildcard value {Culture:RFC5646}. For example, your custom page URI might look like `https://contoso.blob.core.windows.net/{Culture:RFC5646}/myHTML/unified.html`. You can load the page in French by pulling content from `https://contoso.blob.core.windows.net/fr/myHTML/unified.html`
149
+
Content can be pulled from different places based on the locale that's used. In your CORS-enabled endpoint, you set up a folder structure to host content for specific languages. You'll call the right one if you use the wildcard value `{Culture:RFC5646}`.
150
+
151
+
For example, your custom page URI might look like:
For customization examples, download and review these [sample template files](https://github.com/azureadquickstarts/b2c-azureblobstorage-client/archive/master.zip).
165
+
You can find several sample template files in the [B2C-AzureBlobStorage-Client](https://github.com/azureadquickstarts/b2c-azureblobstorage-client) repository on GitHub.
166
+
167
+
The sample HTML and CSS files in the templates are located in the [/sample_templates](https://github.com/AzureADQuickStarts/B2C-AzureBlobStorage-Client/tree/master/sample_templates) directory.
0 commit comments