Skip to content

Commit 0e137ed

Browse files
committed
fix merge
2 parents 629dba9 + 986ef68 commit 0e137ed

File tree

1,376 files changed

+21180
-14608
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,376 files changed

+21180
-14608
lines changed

.openpublishing.redirection.json

Lines changed: 635 additions & 522 deletions
Large diffs are not rendered by default.

articles/active-directory-b2c/TOC.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -404,7 +404,7 @@
404404
href: error-codes.md
405405
- name: Extensions app
406406
href: extensions-app.md
407-
- name: Identity Experience Framework release notes
407+
- name: IEF release notes
408408
href: custom-policy-developer-notes.md
409409
- name: Microsoft Graph API operations
410410
href: microsoft-graph-operations.md

articles/active-directory-b2c/boolean-transformations.md

Lines changed: 3 additions & 3 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: 03/16/2020
12+
ms.date: 04/01/2020
1313
ms.author: mimart
1414
ms.subservice: B2C
1515
---
@@ -132,7 +132,7 @@ The following claims transformation demonstrates how to check the value of a boo
132132
<InputParameter Id="valueToCompareTo" DataType="boolean" Value="true" />
133133
</InputParameters>
134134
<OutputClaims>
135-
<OutputClaim ClaimTypeReferenceId="accountEnabled" TransformationClaimType="compareResult"/>
135+
<OutputClaim ClaimTypeReferenceId="accountEnabled" TransformationClaimType="compareResult"/>
136136
</OutputClaims>
137137
</ClaimsTransformation>
138138
```
@@ -163,6 +163,7 @@ Use this claim transformation to perform logical negation on a claim.
163163
<ClaimsTransformation Id="CheckWhetherEmailBePresented" TransformationMethod="NotClaims">
164164
<InputClaims>
165165
<InputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="inputClaim" />
166+
</InputClaims>
166167
<OutputClaims>
167168
<OutputClaim ClaimTypeReferenceId="userExists" TransformationClaimType="outputClaim" />
168169
</OutputClaims>
@@ -198,7 +199,6 @@ The following claims transformation demonstrates how to `Or` two boolean ClaimTy
198199
<OutputClaim ClaimTypeReferenceId="presentTOSSelfAsserted" TransformationClaimType="outputClaim" />
199200
</OutputClaims>
200201
</ClaimsTransformation>
201-
</ClaimsTransformation>
202202
```
203203

204204
### Example

articles/active-directory-b2c/claimstransformations.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -159,6 +159,7 @@ For examples of claims transformations, see the following reference pages:
159159
- [Date](date-transformations.md)
160160
- [Integer](integer-transformations.md)
161161
- [JSON](json-transformations.md)
162+
- [Phone number](phone-number-claims-transformations.md)
162163
- [General](general-transformations.md)
163164
- [Social account](social-transformations.md)
164165
- [String](string-transformations.md)

articles/active-directory-b2c/custom-policy-developer-notes.md

Lines changed: 64 additions & 47 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: conceptual
12-
ms.date: 02/12/2020
12+
ms.date: 03/30/2020
1313
ms.author: mimart
1414
ms.subservice: B2C
1515
---
@@ -55,85 +55,102 @@ Developers consuming the custom policy feature set should adhere to the followin
5555

5656
Custom policy/Identity Experience Framework capabilities are under constant and rapid development. The following table is an index of features and component availability.
5757

58-
### Identity Providers, Tokens, Protocols
58+
59+
### Protocols and authorization flows
5960

6061
| Feature | Development | Preview | GA | Notes |
6162
|-------- | :-----------: | :-------: | :--: | ----- |
62-
| IDP-OpenIDConnect | | | X | For example, Google+. |
63-
| IDP-OAUTH2 | | | X | For example, Facebook. |
64-
| IDP-OAUTH1 (twitter) | | X | | For example, Twitter. |
65-
| IDP-OAUTH1 (ex-twitter) | | | | Not supported |
66-
| IDP-SAML | | | X | For example, Salesforce, ADFS. |
67-
| IDP-WSFED | X | | | |
68-
| Relying Party OAUTH1 | | | | Not supported. |
69-
| Relying Party OAUTH2 | | | X | |
70-
| Relying Party OIDC | | | X | |
71-
| Relying Party SAML | |X | | |
72-
| Relying Party WSFED | X | | | |
73-
| REST API with basic and certificate auth | | | X | For example, Azure Logic Apps. |
74-
75-
### Component Support
63+
| [OAuth2 authorization code](authorization-code-flow.md) | | | X | |
64+
| OAuth2 authorization code with PKCE | | | X | Mobile applications only |
65+
| [OAuth2 implicit flow](implicit-flow-single-page-application.md) | | | X | |
66+
| [OAuth2 resource owner password credentials](ropc-custom.md) | | X | | |
67+
| [OIDC Connect](openid-connect.md) | | | X | |
68+
| [SAML2](connect-with-saml-service-providers.md) | |X | | POST and Redirect bindings. |
69+
| OAuth1 | | | | Not supported. |
70+
| WSFED | X | | | |
71+
72+
### Identify providers federation
73+
74+
| Feature | Development | Preview | GA | Notes |
75+
|-------- | :-----------: | :-------: | :--: | ----- |
76+
| [OpenID Connect](openid-connect-technical-profile.md) | | | X | For example, Google+. |
77+
| [OAuth2](oauth2-technical-profile.md) | | | X | For example, Facebook. |
78+
| [OAuth1](oauth1-technical-profile.md) | | X | | For example, Twitter. |
79+
| [SAML2](saml-technical-profile.md) | | | X | For example, Salesforce, ADFS. |
80+
| WSFED| X | | | |
81+
82+
83+
### REST API integration
84+
85+
| Feature | Development | Preview | GA | Notes |
86+
|-------- | :-----------: | :-------: | :--: | ----- |
87+
| [REST API with basic auth](secure-rest-api.md#http-basic-authentication) | | | X | |
88+
| [REST API with client certificate auth](secure-rest-api.md#https-client-certificate-authentication) | | | X | |
89+
| [REST API with OAuth2 bearer auth](secure-rest-api.md#oauth2-bearer-authentication) | | X | | |
90+
91+
### Component support
7692

7793
| Feature | Development | Preview | GA | Notes |
7894
| ------- | :-----------: | :-------: | :--: | ----- |
79-
| Azure Multi Factor Authentication | | | X | |
80-
| Azure Active Directory as local directory | | | X | |
81-
| Azure Email subsystem for email verification | | | X | |
82-
| Multi-language support| | | X | |
83-
| Predicate Validations | | | X | For example, password complexity. |
84-
| Using third party email service providers | |X | | |
95+
| [Phone factor authentication](phone-factor-technical-profile.md) | | | X | |
96+
| [Azure MFA authentication](multi-factor-auth-technical-profile.md) | | X | | |
97+
| [One-time password](one-time-password-technical-profile.md) | | X | | |
98+
| [Azure Active Directory](active-directory-technical-profile.md) as local directory | | | X | |
99+
| Azure email subsystem for email verification | | | X | |
100+
| [Third party email service providers](custom-email.md) | |X | | |
101+
| [Multi-language support](localization.md)| | | X | |
102+
| [Predicate validations](predicates.md) | | | X | For example, password complexity. |
103+
| [Display controls](display-controls.md) | |X | | |
85104

86-
### Content Definition
105+
106+
### Page layout versions
87107

88108
| Feature | Development | Preview | GA | Notes |
89109
| ------- | :-----------: | :-------: | :--: | ----- |
90-
| Error page, api.error | | | X | |
91-
| IDP selection page, api.idpselections | | | X | |
92-
| IDP selection for signup, api.idpselections.signup | | | X | |
93-
| Forgot Password, api.localaccountpasswordreset | | | X | |
94-
| Local Account Sign-in, api.localaccountsignin | | | X | |
95-
| Local Account Sign-up, api.localaccountsignup | | | X | |
96-
| MFA page, api.phonefactor | | | X | |
97-
| Self-asserted social account sign-up, api.selfasserted | | | X | |
98-
| Self-asserted profile update, api.selfasserted.profileupdate | | | X | |
99-
| Unified signup or sign-in page, api.signuporsignin, with parameter "disableSignup" | | | X | |
100-
| JavaScript / Page layout | | X | | |
110+
| [2.0.0](page-layout.md#200) | | X | | |
111+
| [1.2.0](page-layout.md#120) | | X | | |
112+
| [1.1.0](page-layout.md#110) | | | X | |
113+
| [1.0.0](page-layout.md#100) | | | X | |
114+
| [JavaScript support](javascript-samples.md) | | X | | |
101115

102116
### App-IEF integration
103117

104118
| Feature | Development | Preview | GA | Notes |
105119
| ------- | :-----------: | :-------: | :--: | ----- |
106-
| Query string parameter domain_hint | | | X | Available as claim, can be passed to IDP. |
107-
| Query string parameter login_hint | | | X | Available as claim, can be passed to IDP. |
108-
| Insert JSON into UserJourney via client_assertion | X | | | Will be deprecated. |
109-
| Insert JSON into UserJourney as id_token_hint | | X | | Go-forward approach to pass JSON. |
110-
| Pass IDP TOKEN to the application | | X | | For example, from Facebook to app. |
120+
| Query string parameter `domain_hint` | | | X | Available as claim, can be passed to IDP. |
121+
| Query string parameter `login_hint` | | | X | Available as claim, can be passed to IDP. |
122+
| Insert JSON into user journey via `client_assertion` | X | | | Will be deprecated. |
123+
| Insert JSON into user journey as `id_token_hint` | | X | | Go-forward approach to pass JSON. |
124+
| [Pass identity provider token to the application](idp-pass-through-custom.md) | | X | | For example, from Facebook to app. |
111125

112126
### Session Management
113127

114128
| Feature | Development | Preview | GA | Notes |
115129
| ------- | :-----------: | :-------: | :--: | ----- |
116-
| SSO Session Provider | | | X | |
117-
| External Login Session Provider | | | X | |
118-
| SAML SSO Session Provider | | | X | |
119-
| Default SSO Session Provider | | | X | |
130+
| [Default SSO session provider](custom-policy-reference-sso.md#defaultssosessionprovider) | | | X | |
131+
| [External login session provider](custom-policy-reference-sso.md#externalloginssosessionprovider) | | | X | |
132+
| [SAML SSO session provider](custom-policy-reference-sso.md#samlssosessionprovider) | | | X | |
133+
120134

121135
### Security
122136

123137
| Feature | Development | Preview | GA | Notes |
124138
|-------- | :-----------: | :-------: | :--: | ----- |
125139
| Policy Keys- Generate, Manual, Upload | | | X | |
126140
| Policy Keys- RSA/Cert, Secrets | | | X | |
127-
| Policy upload | | | X | |
141+
128142

129143
### Developer interface
130144

131145
| Feature | Development | Preview | GA | Notes |
132146
| ------- | :-----------: | :-------: | :--: | ----- |
133147
| Azure Portal-IEF UX | | | X | |
134-
| Application Insights UserJourney Logs | | X | | Used for troubleshooting during development. |
135-
| Application Insights Event Logs (via orchestration steps) | | X | | Used to monitor user flows in production. |
148+
| Policy upload | | | X | |
149+
| [Application Insights user journey logs](troubleshoot-with-application-insights.md) | | X | | Used for troubleshooting during development. |
150+
| [Application Insights event logs](application-insights-technical-profile.md) | | X | | Used to monitor user flows in production. |
151+
136152

137153
## Next steps
138154

139-
Learn more about [custom policies and the differences with user flows](custom-policy-overview.md).
155+
- Check the [Microsoft Graph operations available for Azure AD B2C](microsoft-graph-operations.md)
156+
- Learn more about [custom policies and the differences with user flows](custom-policy-overview.md).

articles/active-directory-b2c/custom-policy-localization.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ ms.subservice: B2C
1717

1818
[!INCLUDE [active-directory-b2c-advanced-audience-warning](../../includes/active-directory-b2c-advanced-audience-warning.md)]
1919

20-
Language customization in Azure Active Directory B2C (Azure AD B2C) allows you to accommodate different languages to suit your customer' needs. Microsoft provides the translations for 36 languages, but you can also provide your own translations for any language. Even if your experience is provided for only a single language, you can customize any text on the pages.
20+
Language customization in Azure Active Directory B2C (Azure AD B2C) allows you to accommodate different languages to suit your customer' needs. Microsoft provides the translations for [36 languages](https://docs.microsoft.com/azure/active-directory-b2c/user-flow-language-customization#supported-languages), but you can also provide your own translations for any language. Even if your experience is provided for only a single language, you can customize any text on the pages.
2121

2222
This article shows you how to support multiple locales or languages in the policy for user journeys. Localization requires three steps: set-up the explicit list of supported languages, provide language-specific strings and collections, and edit the [content definition](contentdefinitions.md) for the page.
2323

articles/active-directory-b2c/phone-factor-technical-profile.md

Lines changed: 28 additions & 28 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: 03/26/2020
12+
ms.date: 03/31/2020
1313
ms.author: mimart
1414
ms.subservice: B2C
1515
---
@@ -20,12 +20,11 @@ ms.subservice: B2C
2020

2121
Azure Active Directory B2C (Azure AD B2C) provides support for enrolling and verifying phone numbers. This technical profile:
2222

23-
- Provides a user interface to interact with the user.
24-
- Uses content definition to control the look and feel.
25-
- Supports both phone calls and text messages to validate the phone number.
23+
- Provides a user interface to interact with the user to verify, or enroll a phone number.
24+
- Supports phone calls and text messages to validate the phone number.
2625
- Supports multiple phone numbers. The user can select one of the phone numbers to verify.
27-
- If a phone number is provided, the phone factor user interface asks the user to verify the phone number. If not provided, it asks the user to enroll a new phone number.
28-
- Returns a claim indicating whether the user provided a new phone number. You can use this claim to decide whether the phone number should be persisted to the Azure AD user profile.
26+
- Returns a claim indicating whether the user provided a new phone number. You can use this claim to decide whether the phone number should be persisted to the Azure AD B2C user profile.
27+
- Uses a [content definition](contentdefinitions.md) to control the look and feel.
2928

3029
## Protocol
3130

@@ -41,19 +40,25 @@ The following example shows a phone factor technical profile for enrollment and
4140
</TechnicalProfile>
4241
```
4342

44-
## Input claims
43+
## Input claims transformations
4544

46-
The InputClaims element must contain following claims. You can also map the name of your claim to the name defined in the phone factor technical profile.
45+
The InputClaimsTransformations element may contain a collection of input claims transformations that are used to modify the input claims, or generate new ones. The following input claims transformation generates a `UserId` claim that is used later in the input claims collection.
4746

48-
```XML
49-
<InputClaims>
50-
<!--A unique identifier of the user. The partner claim type must be set to `UserId`. -->
51-
<InputClaim ClaimTypeReferenceId="userIdForMFA" PartnerClaimType="UserId" />
52-
<!--A claim that contains the phone number. If the claim is empty, Azure AD B2C asks the user to enroll a new phone number. Otherwise, it asks the user to verify the phone number. -->
53-
<InputClaim ClaimTypeReferenceId="strongAuthenticationPhoneNumber" />
54-
</InputClaims>
47+
```xml
48+
<InputClaimsTransformations>
49+
<InputClaimsTransformation ReferenceId="CreateUserIdForMFA" />
50+
</InputClaimsTransformations>
5551
```
5652

53+
## Input claims
54+
55+
The InputClaims element must contain the following claims. You can also map the name of your claim to the name defined in the phone factor technical profile.
56+
57+
| Data type| Required | Description |
58+
| --------- | -------- | ----------- |
59+
| string| Yes | A unique identifier for the user. The claim name, or PartnerClaimType must be set to `UserId`. This claim should not contain personal identifiable information.|
60+
| string| Yes | List of claim types. Each claim contains one phone number. If any of the input claims do not contain a phone number, the user will be asked to enroll and verify a new phone number. The validated phone number is returned as an output claim. If one of the input claims contain a phone number, the user is asked to verify it. If multiple input claims contain a phone number, the user is asked to choose and verify one of the phone numbers. |
61+
5762
The following example demonstrates using multiple phone numbers. For more information, see [sample policy](https://github.com/azure-ad-b2c/samples/tree/master/policies/mfa-add-secondarymfa).
5863

5964
```XML
@@ -64,22 +69,16 @@ The following example demonstrates using multiple phone numbers. For more inform
6469
</InputClaims>
6570
```
6671

67-
The InputClaimsTransformations element may contain a collection of InputClaimsTransformation elements that are used to modify the input claims or generate new ones before presenting them to the phone factor page.
68-
6972
## Output claims
7073

7174
The OutputClaims element contains a list of claims returned by the phone factor technical profile.
7275

73-
```xml
74-
<OutputClaims>
75-
<!-- The verified phone number. The partner claim type must be set to `Verified.OfficePhone`. -->
76-
<OutputClaim ClaimTypeReferenceId="Verified.strongAuthenticationPhoneNumber" PartnerClaimType="Verified.OfficePhone" />
77-
<!-- Indicates whether the new phone number has been entered by the user. The partner claim type must be set to `newPhoneNumberEntered`. -->
78-
<OutputClaim ClaimTypeReferenceId="newPhoneNumberEntered" PartnerClaimType="newPhoneNumberEntered" />
79-
</OutputClaims>
80-
```
76+
| Data type| Required | Description |
77+
| -------- | ----------- |----------- |
78+
| boolean | Yes | Indicates whether the new phone number has been entered by the user. The claim name, or PartnerClaimType must be set to `newPhoneNumberEntered`|
79+
| string| Yes | The verified phone number. The claim name, or PartnerClaimType must be set to `Verified.OfficePhone`.|
8180

82-
The OutputClaimsTransformations element may contain a collection of OutputClaimsTransformation elements that are used to modify the output claims or generate new ones.
81+
The OutputClaimsTransformations element may contain a collection of OutputClaimsTransformation elements that are used to modify the output claims, or generate new ones.
8382

8483
## Cryptographic keys
8584

@@ -91,7 +90,9 @@ The **CryptographicKeys** element is not used.
9190
| Attribute | Required | Description |
9291
| --------- | -------- | ----------- |
9392
| ContentDefinitionReferenceId | Yes | The identifier of the [content definition](contentdefinitions.md) associated with this technical profile. |
94-
| ManualPhoneNumberEntryAllowed| No | Specify whether or not a user is allowed to manually enter a phone number. Possible values: `true` or `false` (default).|
93+
| ManualPhoneNumberEntryAllowed| No | Specify whether or not a user is allowed to manually enter a phone number. Possible values: `true`, or `false` (default).|
94+
| setting.authenticationMode | No | The method to validate the phone number. Possible values: `sms`, `phone`, or `mixed` (default).|
95+
| setting.autodial| No| Specify whether the technical profile should auto dial or auto send an SMS. Possible values: `true`, or `false` (default). Auto dial requires the `setting.authenticationMode` metadata be set to `sms`, or `phone`. The input claims collection must have a single phone number. |
9596

9697
### UI elements
9798

@@ -100,4 +101,3 @@ The phone factor authentication page user interface elements can be [localized](
100101
## Next steps
101102

102103
- Check the [social and local accounts with MFA](https://github.com/Azure-Samples/active-directory-b2c-custom-policy-starterpack/tree/master/SocialAndLocalAccountsWithMfa) starter pack.
103-

articles/active-directory-b2c/ropc-custom.md

Lines changed: 1 addition & 1 deletion
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: conceptual
12-
ms.date: 02/27/2020
12+
ms.date: 04/01/2020
1313
ms.author: mimart
1414
ms.subservice: B2C
1515
---

0 commit comments

Comments
 (0)