Skip to content

Commit 852ac41

Browse files
Merge branch 'master' of https://github.com/MicrosoftDocs/azure-docs-pr into us1669724a
2 parents 28bd3b8 + d94c706 commit 852ac41

File tree

1,667 files changed

+34334
-21917
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

1,667 files changed

+34334
-21917
lines changed

.gitignore

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,6 @@
33
Thumbs.db
44

55
# Visual Studio and VS Code files
6-
.settings.json
76
.vscode/*
87
.vs/*
98
log/
@@ -24,3 +23,4 @@ AzureMigration.ps1
2423
!/.vscode/extensions.json
2524
.gitignore
2625
**/.vscode/settings.json
26+
!/.vscode/settings.json

.openpublishing.redirection.json

Lines changed: 273 additions & 13 deletions
Large diffs are not rendered by default.

.vscode/settings.json

Lines changed: 58 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,58 @@
1+
{
2+
"markdown.docsetLanguages": [
3+
".NET Core CLI",
4+
"Apache",
5+
"ASPX",
6+
"AzCopy",
7+
"Azure CLI",
8+
"Azure CLI (Interactive)",
9+
"Azure Powershell",
10+
"Azure Powershell (Interactive)",
11+
"Bash",
12+
"C",
13+
"C#",
14+
"C# (Interactive)",
15+
"C++",
16+
"CSS",
17+
"DAX Power BI",
18+
"Diff",
19+
"Dockerfile",
20+
"DOS",
21+
"F#",
22+
"Go",
23+
"Gradle",
24+
"Groovy",
25+
"HTML",
26+
"HTTP",
27+
"Ini",
28+
"Java",
29+
"JavaScript",
30+
"JSON",
31+
"Kotlin",
32+
"Kusto",
33+
"Markdown",
34+
"MS Graph (Interactive)",
35+
"Objective C",
36+
"PHP",
37+
"Plaintext no highlight",
38+
"PostgreSQL & PL/pgSQL",
39+
"PowerShell",
40+
"PowerShell (Interactive)",
41+
"Properties",
42+
"Python",
43+
"R",
44+
"Razor CSHTML",
45+
"Ruby",
46+
"Scala",
47+
"Shell",
48+
"Solidity",
49+
"SQL",
50+
"Swift",
51+
"Terraform (HCL)",
52+
"TypeScript",
53+
"VB.NET",
54+
"XAML",
55+
"XML",
56+
"YAML"
57+
]
58+
}

articles/active-directory-b2c/TOC.yml

Lines changed: 13 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -81,6 +81,9 @@
8181
- name: Register a SAML service provider
8282
href: connect-with-saml-service-providers.md
8383
displayName: SP, RP, service provider, connect
84+
- name: Register a Graph application
85+
href: microsoft-graph-get-started.md
86+
displayName: migrate, migration, microsoft graph
8487
- name: Add a web API application
8588
href: add-web-application.md
8689
- name: Add a native client application
@@ -101,7 +104,7 @@
101104
href: user-flow-self-service-password-reset.md
102105
- name: UX customization
103106
items:
104-
- name: User interface customization
107+
- name: Customize the UI
105108
href: customize-ui-overview.md
106109
- name: JavaScript and page layouts
107110
href: user-flow-javascript-overview.md
@@ -177,8 +180,6 @@
177180
- name: Customize the UI
178181
href: custom-policy-ui-customization.md
179182
displayName: ux, input, cors, html, css
180-
- name: Customize the UI dynamically
181-
href: custom-policy-ui-customization-dynamic.md
182183
- name: Custom email
183184
href: custom-email.md
184185
displayName: verification
@@ -353,6 +354,12 @@
353354
href: view-usage-reports.md
354355
- name: Account management
355356
href: manage-user-accounts-graph-api.md
357+
- name: Deploy with Azure Pipelines
358+
href: deploy-custom-policies-devops.md
359+
displayName: azure devops, ci/cd, cicd, custom policy, policies
360+
- name: Manage policies with PowerShell
361+
href: manage-custom-policies-powershell.md
362+
displayName: scripting, scripts, psh, custom policy
356363
- name: Audit logs
357364
href: view-audit-logs.md
358365
- name: Manage users - Azure portal
@@ -373,8 +380,6 @@
373380
items:
374381
- name: Migrate users
375382
href: user-migration.md
376-
- name: Migrate users with external identities
377-
href: migrate-social-identities.md
378383
- name: Reference
379384
items:
380385
- name: Identity Experience Framework release notes
@@ -388,9 +393,11 @@
388393
displayName: cookies, SameSite
389394
- name: Error codes
390395
href: error-codes.md
396+
- name: Microsoft Graph API operations
397+
href: microsoft-graph-operations.md
391398
- name: Region availability & data residency
392399
href: data-residency.md
393-
- name: Enable billing
400+
- name: Billing model
394401
href: billing.md
395402
- name: Threat management
396403
href: threat-management.md

articles/active-directory-b2c/application-types.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -121,7 +121,7 @@ To set up client credential flow, see [Azure Active Directory v2.0 and the OAuth
121121

122122
#### Web API chains (on-behalf-of flow)
123123

124-
Many architectures include a web API that needs to call another downstream web API, where both are secured by Azure AD B2C. This scenario is common in native clients that have a Web API back-end and calls a Microsoft online service such as the Microsoft Graph API or Azure AD Graph API.
124+
Many architectures include a web API that needs to call another downstream web API, where both are secured by Azure AD B2C. This scenario is common in native clients that have a Web API back-end and calls a Microsoft online service such as the Microsoft Graph API.
125125

126126
This chained web API scenario can be supported by using the OAuth 2.0 JWT bearer credential grant, also known as the on-behalf-of flow. However, the on-behalf-of flow is not currently implemented in the Azure AD B2C.
127127

articles/active-directory-b2c/b2clogin.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ There are several modifications you might need to make to migrate your applicati
4242

4343
* Change the redirect URL in your identity provider's applications to reference *b2clogin.com*.
4444
* Update your Azure AD B2C applications to use *b2clogin.com* in their user flow and token endpoint references.
45-
* Update any **Allowed Origins** that you've defined in the CORS settings for [user interface customization](custom-policy-ui-customization-dynamic.md).
45+
* Update any **Allowed Origins** that you've defined in the CORS settings for [user interface customization](custom-policy-ui-customization.md).
4646

4747
## Change identity provider redirect URLs
4848

@@ -117,4 +117,4 @@ For migrating Azure API Management APIs protected by Azure AD B2C, see the [Migr
117117
[msal-dotnet]: https://github.com/AzureAD/microsoft-authentication-library-for-dotnet
118118
[msal-dotnet-b2c]: https://github.com/AzureAD/microsoft-authentication-library-for-dotnet/wiki/AAD-B2C-specifics
119119
[msal-js]: https://github.com/AzureAD/microsoft-authentication-library-for-js
120-
[msal-js-b2c]: ../active-directory/develop/msal-b2c-overview.md
120+
[msal-js-b2c]: ../active-directory/develop/msal-b2c-overview.md

articles/active-directory-b2c/claim-resolver-overview.md

Lines changed: 21 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ manager: celestedg
99
ms.service: active-directory
1010
ms.workload: identity
1111
ms.topic: reference
12-
ms.date: 02/13/2020
12+
ms.date: 02/17/2020
1313
ms.author: marsma
1414
ms.subservice: B2C
1515
---
@@ -100,9 +100,21 @@ Any parameter name included as part of an OIDC or OAuth2 request can be mapped t
100100
| ----- | ----------------------- | --------|
101101
| {oauth2:access_token} | The access token. | N/A |
102102

103+
104+
### SAML
105+
106+
| Claim | Description | Example |
107+
| ----- | ----------- | --------|
108+
| {SAML:AuthnContextClassReferences} | The `AuthnContextClassRef` element value, from the SAML request. | urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport |
109+
| {SAML:NameIdPolicyFormat} | The `Format` attribute, from the `NameIDPolicy` element of the SAML request. | urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress |
110+
| {SAML:Issuer} | The SAML `Issuer` element value of the SAML request.| https://contoso.com |
111+
| {SAML:AllowCreate} | The `AllowCreate` attribute value, from the `NameIDPolicy` element of the SAML request. | True |
112+
| {SAML:ForceAuthn} | The `ForceAuthN` attribute value, from the `AuthnRequest` element of the SAML request. | True |
113+
| {SAML:ProviderName} | The `ProviderName` attribute value, from the `AuthnRequest` element of the SAML request.| Contoso.com |
114+
103115
## Using claim resolvers
104116

105-
You can use claims resolvers with following elements:
117+
You can use claims resolvers with the following elements:
106118

107119
| Item | Element | Settings |
108120
| ----- | ----------------------- | --------|
@@ -119,16 +131,16 @@ You can use claims resolvers with following elements:
119131
|[RelyingParty](relyingparty.md#technicalprofile) technical profile| `OutputClaim`| 2 |
120132

121133
Settings:
122-
1. The `IncludeClaimResolvingInClaimsHandling` metadata must set to `true`
123-
1. The input or output claims attribute `AlwaysUseDefaultValue` must set to `true`
134+
1. The `IncludeClaimResolvingInClaimsHandling` metadata must be set to `true`.
135+
1. The input or output claims attribute `AlwaysUseDefaultValue` must be set to `true`.
124136

125137
## Claim resolvers samples
126138

127139
### RESTful technical profile
128140

129141
In a [RESTful](restful-technical-profile.md) technical profile, you may want to send the user language, policy name, scope, and client ID. Based on these claims the REST API can run custom business logic, and if necessary raise a localized error message.
130142

131-
The following example shows a RESTful technical profile:
143+
The following example shows a RESTful technical profile with this scenario:
132144

133145
```XML
134146
<TechnicalProfile Id="REST">
@@ -156,9 +168,9 @@ Using claim resolvers, you can prepopulate the sign-in name or direct sign-in to
156168

157169
### Dynamic UI customization
158170

159-
Azure AD B2C enables you to pass query string parameters to your HTML content definition endpoints so that you can dynamically render the page content. For example, you can change the background image on the Azure AD B2C sign-up or sign-in page based on a custom parameter that you pass from your web or mobile application. For more information, see [Dynamically configure the UI by using custom policies in Azure Active Directory B2C](custom-policy-ui-customization-dynamic.md). You can also localize your HTML page based on a language parameter, or you can change the content based on the client ID.
171+
Azure AD B2C enables you to pass query string parameters to your HTML content definition endpoints to dynamically render the page content. For example, this allows the ability to modify the background image on the Azure AD B2C sign-up or sign-in page based on a custom parameter that you pass from your web or mobile application. For more information, see [Dynamically configure the UI by using custom policies in Azure Active Directory B2C](custom-policy-ui-customization.md). You can also localize your HTML page based on a language parameter, or you can change the content based on the client ID.
160172

161-
The following example passes in the query string a parameter named **campaignId** with a value of `hawaii`, a **language** code of `en-US`, and **app** representing the client ID:
173+
The following example passes in the query string parameter named **campaignId** with a value of `hawaii`, a **language** code of `en-US`, and **app** representing the client ID:
162174

163175
```XML
164176
<UserJourneyBehaviors>
@@ -170,7 +182,7 @@ The following example passes in the query string a parameter named **campaignId*
170182
</UserJourneyBehaviors>
171183
```
172184

173-
As a result Azure AD B2C sends the above parameters to the HTML content page:
185+
As a result, Azure AD B2C sends the above parameters to the HTML content page:
174186

175187
```
176188
/selfAsserted.aspx?campaignId=hawaii&language=en-US&app=0239a9cc-309c-4d41-87f1-31288feb2e82
@@ -207,7 +219,7 @@ With Azure Application Insights and claim resolvers you can gain insights on use
207219

208220
### Relying party policy
209221

210-
In a [Relying party](relyingparty.md) policy technical profile, you may want to send the tenant ID, or correlation ID to the relying party application.
222+
In a [Relying party](relyingparty.md) policy technical profile, you may want to send the tenant ID, or correlation ID to the relying party application within the JWT.
211223

212224
```XML
213225
<RelyingParty>

articles/active-directory-b2c/claimsschema.md

Lines changed: 48 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ manager: celestedg
88
ms.service: active-directory
99
ms.workload: identity
1010
ms.topic: reference
11-
ms.date: 02/12/2020
11+
ms.date: 02/17/2020
1212
ms.author: marsma
1313
ms.subservice: B2C
1414
---
@@ -47,14 +47,32 @@ The **ClaimType** element contains the following elements:
4747
| Element | Occurrences | Description |
4848
| ------- | ----------- | ----------- |
4949
| DisplayName | 1:1 | The title that's displayed to users on various screens. The value can be [localized](localization.md). |
50-
| DataType | 1:1 | The type of the claim. The data types of boolean, date, dateTime, int, long, string, stringCollection and phoneNumber can be used. Primitive data type represents the equivalent of C# variable data type. stringCollection represents a collection of strings. For more information see [C# Types and variables](https://docs.microsoft.com/dotnet/csharp/tour-of-csharp/types-and-variables). Date follows ISO 8601 convention. |
50+
| DataType | 1:1 | The type of the claim. |
5151
| DefaultPartnerClaimTypes | 0:1 | The partner default claim types to use for a specified protocol. The value can be overwritten in the **PartnerClaimType** specified in the **InputClaim** or **OutputClaim** elements. Use this element to specify the default name for a protocol. |
5252
| Mask | 0:1 | An optional string of masking characters that can be applied when displaying the claim. For example, the phone number 324-232-4343 can be masked as XXX-XXX-4343. |
5353
| UserHelpText | 0:1 | A description of the claim type that can be helpful for users to understand its purpose. The value can be [localized](localization.md). |
5454
| UserInputType | 0:1 | The type of input control that should be available to the user when manually entering the claim data for the claim type. See the user input types defined later in this page. |
5555
| Restriction | 0:1 | The value restrictions for this claim, such as a regular expression (Regex) or a list of acceptable values. The value can be [localized](localization.md). |
5656
PredicateValidationReference| 0:1 | A reference to a **PredicateValidationsInput** element. The **PredicateValidationReference** elements enable you to perform a validation process to ensure that only properly formed data is entered. For more information, see [Predicates](predicates.md). |
5757

58+
### DataType
59+
60+
The **DataType** element supports the following values:
61+
62+
| Type | Description |
63+
| ------- | ----------- |
64+
|boolean|Represents a Boolean (`true` or `false`) value.|
65+
|date| Represents an instant in time, typically expressed as a date of a day. The value of the date follows ISO 8601 convention.|
66+
|dateTime|Represents an instant in time, typically expressed as a date and time of day. The value of the date follows ISO 8601 convention.|
67+
|duration|Represents a time interval in years, months, days, hours, minutes, and seconds. The format of is `PnYnMnDTnHnMnS`, where `P` indicates positive, or `N` for negative value. `nY` is the number of years followed by a literal `Y`. `nMo` is the number of months followed by a literal `Mo`. `nD` is the number of days followed by a literal `D`. Examples: `P21Y` represents 21 years. `P1Y2Mo` represents one year, and two months. `P1Y2Mo5D` represents one year, two months, and five days. `P1Y2M5DT8H5M620S` represents one year, two months, five days, eight hours, five minutes, and twenty seconds. |
68+
|phoneNumber|Represents a phone number. |
69+
|int| Represents number between -2,147,483,648 and 2,147,483,647|
70+
|long| Represents number between -9,223,372,036,854,775,808 to 9,223,372,036,854,775,807 |
71+
|string| Represents text as a sequence of UTF-16 code units.|
72+
|stringCollection|Represents a collection of `string`.|
73+
|userIdentity| Represents a user identity.|
74+
|userIdentityCollection|Represents a collection of `userIdentity`.|
75+
5876
### DefaultPartnerClaimTypes
5977

6078
The **DefaultPartnerClaimTypes** may contain the following element:
@@ -151,7 +169,7 @@ The **Restriction** element contains the following elements:
151169
| Enumeration | 1:n | The available options in the user interface for the user to select for a claim, such as a value in a dropdown. |
152170
| Pattern | 1:1 | The regular expression to use. |
153171

154-
### Enumeration
172+
#### Enumeration
155173

156174
The **Enumeration** element contains the following attributes:
157175

@@ -210,11 +228,26 @@ The Identity Experience Framework renders the email address claim with email for
210228

211229
![TextBox showing error message triggered by regex restriction](./media/claimsschema/pattern.png)
212230

213-
## UserInputType
231+
### UserInputType
232+
233+
Azure AD B2C supports a variety of user input types, such as a textbox, password, and dropdown list that can be used when manually entering claim data for the claim type. You must specify the **UserInputType** when you collect information from the user by using a [self-asserted technical profile](self-asserted-technical-profile.md) and [display controls](display-controls.md).
234+
235+
The **UserInputType** element available user input types:
236+
237+
| UserInputType | Supported ClaimType | Description |
238+
| --------- | -------- | ----------- |
239+
|CheckboxMultiSelect| `string` |Multi select drop-down box. The claim value is represented in a comma delimiter string of the selected values. |
240+
|DateTimeDropdown | `date`, `dateTime` |Drop-downs to select a day, month, and year. |
241+
|DropdownSingleSelect |`string` |Single select drop-down box. The claim value is the selected value.|
242+
|EmailBox | `string` |Email input field. |
243+
|Paragraph | `boolean`, `date`, `dateTime`, `duration`, `int`, `long`, `string`|A field that shows text only in a paragraph tag. |
244+
|Password | `string` |Password text box.|
245+
|RadioSingleSelect |`string` | Collection of radio buttons. The claim value is the selected value.|
246+
|Readonly | `boolean`, `date`, `dateTime`, `duration`, `int`, `long`, `string`| Read only text box. |
247+
|TextBox |`boolean`, `int`, `string` |Single-line text box. |
214248

215-
Azure AD B2C supports a variety of user input types, such as a textbox, password, and dropdown list that can be used when manually entering claim data for the claim type. You must specify the **UserInputType** when you collect information from the user by using a [self-asserted technical profile](self-asserted-technical-profile.md).
216249

217-
### TextBox
250+
#### TextBox
218251

219252
The **TextBox** user input type is used to provide a single-line text box.
220253

@@ -229,7 +262,7 @@ The **TextBox** user input type is used to provide a single-line text box.
229262
</ClaimType>
230263
```
231264

232-
### EmailBox
265+
#### EmailBox
233266

234267
The **EmailBox** user input type is used to provide a basic email input field.
235268

@@ -247,7 +280,7 @@ The **EmailBox** user input type is used to provide a basic email input field.
247280
</ClaimType>
248281
```
249282

250-
### Password
283+
#### Password
251284

252285
The **Password** user input type is used to record a password entered by the user.
253286

@@ -262,7 +295,7 @@ The **Password** user input type is used to record a password entered by the use
262295
</ClaimType>
263296
```
264297

265-
### DateTimeDropdown
298+
#### DateTimeDropdown
266299

267300
The **DateTimeDropdown** user input type is used to provide a set of drop-downs to select a day, month, and year. You can use Predicates and PredicateValidations elements to control the minimum and maximum date values. For more information, see the **Configure a date range** section of [Predicates and PredicateValidations](predicates.md).
268301

@@ -277,7 +310,7 @@ The **DateTimeDropdown** user input type is used to provide a set of drop-downs
277310
</ClaimType>
278311
```
279312

280-
### RadioSingleSelect
313+
#### RadioSingleSelect
281314

282315
The **RadioSingleSelect** user input type is used to provide a collection of radio buttons that allows the user to select one option.
283316

@@ -296,7 +329,7 @@ The **RadioSingleSelect** user input type is used to provide a collection of rad
296329
</ClaimType>
297330
```
298331

299-
### DropdownSingleSelect
332+
#### DropdownSingleSelect
300333

301334
The **DropdownSingleSelect** user input type is used to provide a drop-down box that allows the user to select one option.
302335

@@ -315,7 +348,7 @@ The **DropdownSingleSelect** user input type is used to provide a drop-down box
315348
</ClaimType>
316349
```
317350

318-
### CheckboxMultiSelect
351+
#### CheckboxMultiSelect
319352

320353
The **CheckboxMultiSelect** user input type is used to provide a collection of checkboxes that allows the user to select multiple options.
321354

@@ -334,7 +367,7 @@ The **CheckboxMultiSelect** user input type is used to provide a collection of c
334367
</ClaimType>
335368
```
336369

337-
### Readonly
370+
#### Readonly
338371

339372
The **Readonly** user input type is used to provide a readonly field to display the claim and value.
340373

@@ -350,9 +383,9 @@ The **Readonly** user input type is used to provide a readonly field to display
350383
```
351384

352385

353-
### Paragraph
386+
#### Paragraph
354387

355-
The **Paragraph** user input type is used to provide a field that shows text only in a paragraph tag. For example, &lt;p&gt;text&lt;/p&gt;.
388+
The **Paragraph** user input type is used to provide a field that shows text only in a paragraph tag. For example, &lt;p&gt;text&lt;/p&gt;. A **Paragraph** user input type `OutputClaim` of self-asserted technical profile, must set the `Required` attribute `false` (default).
356389

357390
![Using claim type with paragraph](./media/claimsschema/paragraph.png)
358391

0 commit comments

Comments
 (0)