Skip to content

Commit bf0a0ac

Browse files
author
dksimpson
committed
Merge branch 'master' of https://github.com/MicrosoftDocs/azure-docs-pr into DKS-US1712683-bing-web-search
2 parents 7777615 + 11a082c commit bf0a0ac

File tree

1,606 files changed

+25273
-12568
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,606 files changed

+25273
-12568
lines changed

.openpublishing.publish.config.json

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@
2626
2727
],
2828
"sync_notification_subscribers": [
29-
"tysonn@microsoft.com"
29+
"angrobe_extended_dir@microsoft.com"
3030
],
3131
"branches_to_filter": [],
32-
"git_repository_url_open_to_public_contributors": "https://github.com/Microsoft/azure-docs",
32+
"git_repository_url_open_to_public_contributors": "https://github.com/MicrosoftDocs/azure-docs",
3333
"git_repository_branch_open_to_public_contributors": "master",
3434
"skip_source_output_uploading": false,
3535
"need_preview_pull_request": true,
@@ -439,6 +439,11 @@
439439
"url": "https://github.com/Azure-Samples/azure-cosmos-db-sql-xamarin-getting-started",
440440
"branch": "master"
441441
},
442+
{
443+
"path_to_root": "cosmosdb-python-sdk",
444+
"url": "https://github.com/Azure/azure-sdk-for-python/",
445+
"branch": "master"
446+
},
442447
{
443448
"path_to_root": "cosmosdb-nodejs-get-started",
444449
"url": "https://github.com/Azure-Samples/azure-cosmos-db-sql-api-nodejs-getting-started",

.openpublishing.redirection.json

Lines changed: 301 additions & 76 deletions
Large diffs are not rendered by default.

articles/active-directory-b2c/custom-policy-get-started.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -134,7 +134,7 @@ Next, specify that the application should be treated as a public client:
134134

135135
1. Under **Manage**, select **Authentication**.
136136
1. Select **Try out the new experience** (if shown).
137-
1. Under **Advanced settings**, enable **Treat application as a public client** (select **Yes**).
137+
1. Under **Advanced settings**, enable **Treat application as a public client** (select **Yes**). Ensure that **"allowPublicClient": true** is set in the application manifest.
138138
1. Select **Save**.
139139

140140
Now, grant permissions to the API scope you exposed earlier in the *IdentityExperienceFramework* registration:

articles/active-directory-b2c/identity-provider-salesforce-custom.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -205,7 +205,7 @@ Now that you have a button in place, you need to link it to an action. The actio
205205
<ClaimsExchange Id="SalesforceExchange" TechnicalProfileReferenceId="salesforce" />
206206
```
207207

208-
Update the value of **TechnicalProfileReferenceId** to the **ID** of the technical profile you created earlier. For example, `LinkedIn-OAUTH`.
208+
Update the value of **TechnicalProfileReferenceId** to the **ID** of the technical profile you created earlier. For example, `salesforce` or `LinkedIn-OAUTH`.
209209

210210
3. Save the *TrustFrameworkExtensions.xml* file and upload it again for verification.
211211

articles/active-directory-b2c/manage-user-access.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -32,25 +32,25 @@ If a user is identified as a minor, you can set the user flow in Azure AD B2C to
3232

3333
- **Send a signed JWT id_token back to the application**: The user is registered in the directory, and a token is returned to the application. The application then proceeds by applying business rules. For example, the application may proceed with a parental consent process. To use this method, choose to receive the **ageGroup** and **consentProvidedForMinor** claims from the application.
3434

35-
- **Send an unsigned JSON token to the application**: Azure AD B2C notifies the application that the user is a minor and provides the status of the users parental consent. The application then proceeds by applying business rules. A JSON token does not complete a successful authentication with the application. The application must process the unauthenticated user according to the claims included in the JSON token, which may include **name**, **email**, **ageGroup**, and **consentProvidedForMinor**.
35+
- **Send an unsigned JSON token to the application**: Azure AD B2C notifies the application that the user is a minor and provides the status of the user's parental consent. The application then proceeds by applying business rules. A JSON token does not complete a successful authentication with the application. The application must process the unauthenticated user according to the claims included in the JSON token, which may include **name**, **email**, **ageGroup**, and **consentProvidedForMinor**.
3636

3737
- **Block the user**: If a user is a minor, and parental consent has not been provided, Azure AD B2C can notify the user that they are blocked. No token is issued, access is blocked, and the user account is not created during a registration journey. To implement this notification, you provide a suitable HTML/CSS content page to inform the user and present appropriate options. No further action is needed by the application for new registrations.
3838

3939
## Get parental consent
4040

41-
Depending on application regulation, parental consent might need to be granted by a user who is verified as an adult. Azure AD B2C does not provide an experience to verify an individuals age and then allow a verified adult to grant parental consent to a minor. This experience must be provided by the application or another service provider.
41+
Depending on application regulation, parental consent might need to be granted by a user who is verified as an adult. Azure AD B2C does not provide an experience to verify an individual's age and then allow a verified adult to grant parental consent to a minor. This experience must be provided by the application or another service provider.
4242

4343
The following is an example of a user flow for gathering parental consent:
4444

4545
1. A [Microsoft Graph API](https://docs.microsoft.com/graph/use-the-api) operation identifies the user as a minor and returns the user data to the application in the form of an unsigned JSON token.
4646

4747
2. The application processes the JSON token and shows a screen to the minor, notifying them that parental consent is required and requesting the consent of a parent online.
4848

49-
3. Azure AD B2C shows a sign-in journey that the user can sign in to normally and issues a token to the application that is set to include **legalAgeGroupClassification = minorWithParentalConsent**. The application collects the email address of the parent and verifies that the parent is an adult. To do so, it uses a trusted source, such as a national ID office, license verification, or credit card proof. If verification is successful, the application prompts the minor to sign in by using the Azure AD B2C user flow. If consent is denied (for example, if **legalAgeGroupClassification = minorWithoutParentalConsent**), Azure AD B2C returns a JSON token (not a login) to the application to restart the consent process. It is optionally possible to customize the user flow so that a minor or an adult can regain access to a minors account by sending a registration code to the minors email address or the adults email address on record.
49+
3. Azure AD B2C shows a sign-in journey that the user can sign in to normally and issues a token to the application that is set to include **legalAgeGroupClassification = "minorWithParentalConsent"**. The application collects the email address of the parent and verifies that the parent is an adult. To do so, it uses a trusted source, such as a national ID office, license verification, or credit card proof. If verification is successful, the application prompts the minor to sign in by using the Azure AD B2C user flow. If consent is denied (for example, if **legalAgeGroupClassification = "minorWithoutParentalConsent"**), Azure AD B2C returns a JSON token (not a login) to the application to restart the consent process. It is optionally possible to customize the user flow so that a minor or an adult can regain access to a minor's account by sending a registration code to the minor's email address or the adult's email address on record.
5050

5151
4. The application offers an option to the minor to revoke consent.
5252

53-
5. When either the minor or the adult revokes consent, the Microsoft Graph API can be used to change **consentProvidedForMinor** to **denied**. Alternatively, the application may choose to delete a minor whose consent has been revoked. It is optionally possible to customize the user flow so that the authenticated minor (or parent that is using the minors account) can revoke consent. Azure AD B2C records **consentProvidedForMinor** as **denied**.
53+
5. When either the minor or the adult revokes consent, the Microsoft Graph API can be used to change **consentProvidedForMinor** to **denied**. Alternatively, the application may choose to delete a minor whose consent has been revoked. It is optionally possible to customize the user flow so that the authenticated minor (or parent that is using the minor's account) can revoke consent. Azure AD B2C records **consentProvidedForMinor** as **denied**.
5454

5555
For more information about **legalAgeGroupClassification**, **consentProvidedForMinor**, and **ageGroup**, see [User resource type](https://developer.microsoft.com/graph/docs/api-reference/beta/resources/user). For more information about custom attributes, see [Use custom attributes to collect information about your consumers](user-flow-custom-attributes.md). When you address extended attributes by using the Microsoft Graph API, you must use the long version of the attribute, such as *extension_18b70cf9bb834edd8f38521c2583cd86_dateOfBirth*: *2011-01-01T00:00:00Z*.
5656

@@ -62,15 +62,15 @@ A customized user flow can gather DOB and country/region information and use Azu
6262

6363
The following steps show the logic that is used to calculate **ageGroup** from the user's date of birth:
6464

65-
1. Try to find the country by the country code in the list. If the country is not found, fall back to **Default**.
65+
1. Try to find the country/region by the country/region code in the list. If the country/region is not found, fall back to **Default**.
6666

67-
2. If the **MinorConsent** node is present in the country element:
67+
2. If the **MinorConsent** node is present in the country/region element:
6868

6969
a. Calculate the date that the user must have been born on to be considered an adult. For example, if the current date is March 14, 2015, and **MinorConsent** is 18, the birth date must be no later than March 14, 2000.
7070

71-
b. Compare the minimum birth date with the actual birth date. If the minimum birth date is before the users birth date, the calculation returns **Minor** as the age group calculation.
71+
b. Compare the minimum birth date with the actual birth date. If the minimum birth date is before the user's birth date, the calculation returns **Minor** as the age group calculation.
7272

73-
3. If the **MinorNoConsentRequired** node is present in the country element, repeat steps 2a and 2b using the value from **MinorNoConsentRequired**. The output of 2b returns **MinorNoConsentRequired** if the minimum birth date is before the users birth date.
73+
3. If the **MinorNoConsentRequired** node is present in the country/region element, repeat steps 2a and 2b using the value from **MinorNoConsentRequired**. The output of 2b returns **MinorNoConsentRequired** if the minimum birth date is before the user's birth date.
7474

7575
4. If neither calculation returns true, the calculation returns **Adult**.
7676

@@ -85,13 +85,13 @@ For more information about gathering DOB data, see [Use age gating in Azure AD B
8585

8686
When you develop your application, you ordinarily capture users' acceptance of terms of use within their applications with no, or only minor, participation from the user directory. It is possible, however, to use an Azure AD B2C user flow to gather a user's acceptance of terms of use, restrict access if acceptance is not granted, and enforce acceptance of future changes to the terms of use, based on the date of the latest acceptance and the date of the latest version of the terms of use.
8787

88-
**Terms of Use** may also include Consent to share data with third parties. Depending on local regulations and business rules, you can gather a user's acceptance of both conditions combined, or you can allow the user to accept one condition and not the other.
88+
**Terms of Use** may also include "Consent to share data with third parties." Depending on local regulations and business rules, you can gather a user's acceptance of both conditions combined, or you can allow the user to accept one condition and not the other.
8989

9090
The following steps describe how you can manage terms of use:
9191

9292
1. Record the acceptance of the terms of use and the date of acceptance by using the Graph API and extended attributes. You can do so by using both built-in and custom user flows. We recommend that you create and use the **extension_termsOfUseConsentDateTime** and **extension_termsOfUseConsentVersion** attributes.
9393

94-
2. Create a required check box labeled Accept Terms of Use, and record the result during signup. You can do so by using both built-in and custom user flows.
94+
2. Create a required check box labeled "Accept Terms of Use," and record the result during signup. You can do so by using both built-in and custom user flows.
9595

9696
3. Azure AD B2C stores the terms of use agreement and the user's acceptance. You can use the Graph API to query for the status of any user by reading the extension attribute that's used to record the response (for example, read **termsOfUseTestUpdateDateTime**). You can do so by using both built-in and custom user flows.
9797

articles/active-directory-b2c/phone-number-claims-transformations.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -58,8 +58,8 @@ This claim transformation validates the format of the phone number. If it is in
5858

5959
| Item | TransformationClaimType | Data Type | Notes |
6060
| ---- | ----------------------- | --------- | ----- |
61-
| InputClaim | phoneNumberString | string | The string claim for the phone number. The phone number has to be in international format, complete with a leading "+" and country code. If input claim `country` is provided, the phone number is in local format (without the country code). |
62-
| InputClaim | country | string | [Optional] The string claim for the country code of the phone number in ISO3166 format (the two-letter ISO-3166 country code). |
61+
| InputClaim | phoneNumberString | string | The string claim for the phone number. The phone number has to be in international format, complete with a leading "+" and country/region code. If input claim `country` is provided, the phone number is in local format (without the country/region code). |
62+
| InputClaim | country | string | [Optional] The string claim for the country/region code of the phone number in ISO3166 format (the two-letter ISO-3166 country/region code). |
6363
| OutputClaim | outputClaim | phoneNumber | The result of this claims transformation. |
6464

6565
The **ConvertStringToPhoneNumberClaim** claims transformation is always executed from a [validation technical profile](validation-technical-profile.md) that is called by a [self-asserted technical profile](self-asserted-technical-profile.md) or [display control](display-controls.md). The **UserMessageIfClaimsTransformationInvalidPhoneNumber** self-asserted technical profile metadata controls the error message that is presented to the user.
@@ -109,24 +109,24 @@ The self-asserted technical profile that calls the validation technical profile
109109

110110
## GetNationalNumberAndCountryCodeFromPhoneNumberString
111111

112-
This extracts the country code and the national number from the input claim, and optionally throws an exception if the supplied phone number is not valid.
112+
This extracts the country/region code and the national number from the input claim, and optionally throws an exception if the supplied phone number is not valid.
113113

114114
| Item | TransformationClaimType | Data Type | Notes |
115115
| ---- | ----------------------- | --------- | ----- |
116-
| InputClaim | phoneNumber | string | The string claim of the phone number. The phone number has to be in international format, complete with a leading "+" and country code. |
116+
| InputClaim | phoneNumber | string | The string claim of the phone number. The phone number has to be in international format, complete with a leading "+" and country/region code. |
117117
| InputParameter | throwExceptionOnFailure | boolean | [Optional] A parameter indicating whether an exception is thrown when the phone number is not valid. Default value is false. |
118-
| InputParameter | countryCodeType | string | [Optional] A parameter indicating the type of country code in the output claim. Available values are **CallingCode** (the international calling code for a country, for example +1) or **ISO3166** (the two-letter ISO-3166 country code). |
118+
| InputParameter | countryCodeType | string | [Optional] A parameter indicating the type of country/region code in the output claim. Available values are **CallingCode** (the international calling code for a country/region, for example +1) or **ISO3166** (the two-letter ISO-3166 country/region code). |
119119
| OutputClaim | nationalNumber | string | The string claim for the national number of the phone number. |
120-
| OutputClaim | countryCode | string | The string claim for the country code of the phone number. |
120+
| OutputClaim | countryCode | string | The string claim for the country/region code of the phone number. |
121121

122122

123123
If the **GetNationalNumberAndCountryCodeFromPhoneNumberString** claims transformation is executed from a [validation technical profile](validation-technical-profile.md) that is called by a [self-asserted technical profile](self-asserted-technical-profile.md) or a [display control action](display-controls.md#display-control-actions), then the **UserMessageIfPhoneNumberParseFailure** self-asserted technical profile metadata controls the error message that is presented to the user.
124124

125125
![Diagram of error message execution path](./media/phone-authentication/assert-execution.png)
126126

127-
You can use this claims transformation to split a full phone number into the country code and the national number. If the phone number provided is not valid, you can choose to throw an error message.
127+
You can use this claims transformation to split a full phone number into the country/region code and the national number. If the phone number provided is not valid, you can choose to throw an error message.
128128

129-
The following example tries to split the phone number into national number and country code. If the phone number is valid, the phone number will be overridden by the national number. If the phone number is not valid, an exception will not be thrown and the phone number still has its original value.
129+
The following example tries to split the phone number into national number and country/region code. If the phone number is valid, the phone number will be overridden by the national number. If the phone number is not valid, an exception will not be thrown and the phone number still has its original value.
130130

131131
```XML
132132
<ClaimsTransformation Id="GetNationalNumberAndCountryCodeFromPhoneNumberString" TransformationMethod="GetNationalNumberAndCountryCodeFromPhoneNumberString">

articles/active-directory-b2c/secure-rest-api.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -237,7 +237,7 @@ For the ServiceUrl, replace your-tenant-name with the name of your Azure AD tena
237237
<DisplayName></DisplayName>
238238
<Protocol Name="Proprietary" Handler="Web.TPEngine.Providers.RestfulProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
239239
<Metadata>
240-
<Item Key="ServiceUrl">https://login.microsoftonline.com/your-tenant-name.microsoft.com/oauth2/v2.0/token</Item>
240+
<Item Key="ServiceUrl">https://login.microsoftonline.com/your-tenant-name.onmicrosoft.com/oauth2/v2.0/token</Item>
241241
<Item Key="AuthenticationType">Basic</Item>
242242
<Item Key="SendClaimsIn">Form</Item>
243243
</Metadata>

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -512,7 +512,7 @@ The following example looks up the domain name in one of the inputParameters col
512512
- **test.com**: c7026f88-4299-4cdb-965d-3f166464b8a9
513513
- **errorOnFailedLookup**: false
514514
- Output claims:
515-
- **outputClaim**: c7026f88-4299-4cdb-965d-3f166464b8a9
515+
- **outputClaim**: c7026f88-4299-4cdb-965d-3f166464b8a9
516516

517517
When `errorOnFailedLookup` input parameter is set to `true`, the **LookupValue** claims transformation is always executed from a [validation technical profile](validation-technical-profile.md) that is called by a [self-asserted technical profile](self-asserted-technical-profile.md), or a [DisplayConrtol](display-controls.md). The `LookupNotFound` metadata of a self-asserted technical profile controls the error message that is presented to the user.
518518

@@ -821,7 +821,7 @@ Extracts parts of a string claim type, beginning at the character at the specifi
821821
| InputParameter | length | int | The number of characters in the substring. |
822822
| OutputClaim | outputClaim | boolean | A string that is equivalent to the substring of length that begins at startIndex in this instance, or Empty if startIndex is equal to the length of this instance and length is zero. |
823823

824-
For example, get the phone number country prefix.
824+
For example, get the phone number country/region prefix.
825825

826826

827827
```XML

0 commit comments

Comments
 (0)