Skip to content

Commit de82a9e

Browse files
authored
Merge pull request #219 from MicrosoftDocs/master
pull from master
2 parents 371cb21 + 8906c34 commit de82a9e

File tree

1,212 files changed

+10844
-6469
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,212 files changed

+10844
-6469
lines changed

.openpublishing.redirection.json

Lines changed: 32 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
{
22
"redirections": [
3+
{
4+
"source_path": "articles/healthcare-apis/bring-your-own-key.md",
5+
"redirect_url": "/azure/healthcare-apis/customer-managed-key",
6+
"redirect_document_id": false
7+
},
38
{
49
"source_path": "articles/virtual-machines/linux/sa-upload-vhd.md",
510
"redirect_url": "/previous-versions/azure/virtual-machines/linux/sa-upload-vhd",
@@ -14637,6 +14642,11 @@
1463714642
"redirect_url": "/azure-stack/user/azure-stack-vpn-gateway-about-vpn-gateways",
1463814643
"redirect_document_id": false
1463914644
},
14645+
{
14646+
"source_path": "articles/azure-vmware/ecosystem-backup-vms.md",
14647+
"redirect_url": "/azure/azure-vmware/ecosystem-back-up-vms",
14648+
"redirect_document_id": false
14649+
},
1464014650
{
1464114651
"source_path": "articles/azure-vmware/tutorial-deploy-vm-content-library.md",
1464214652
"redirect_url": "/azure/azure-vmware/deploy-vm-content-library",
@@ -38353,12 +38363,17 @@
3835338363
},
3835438364
{
3835538365
"source_path": "articles/active-directory/application-provisioning-config-problem-storage-limit.md",
38356-
"redirect_url": "/azure/active-directory/app-provisioning/application-provisioning-config-problem-storage-limit",
38366+
"redirect_url": "/azure/active-directory/app-provisioning/user-provisioning",
3835738367
"redirect_document_id": true
3835838368
},
3835938369
{
3836038370
"source_path": "articles/active-directory/manage-apps/application-provisioning-config-problem-storage-limit.md",
38361-
"redirect_url": "/azure/active-directory/app-provisioning/application-provisioning-config-problem-storage-limit",
38371+
"redirect_url": "/azure/active-directory/app-provisioning/user-provisioning",
38372+
"redirect_document_id": false
38373+
},
38374+
{
38375+
"source_path": "articles/active-directory/app-provisioning/application-provisioning-config-problem-storage-limit.md",
38376+
"redirect_url": "/azure/active-directory/app-provisioning/user-provisioning",
3836238377
"redirect_document_id": false
3836338378
},
3836438379
{
@@ -39762,6 +39777,16 @@
3976239777
"redirect_url": "/azure/cognitive-services/speech-service/overview",
3976339778
"redirect_document_id": true
3976439779
},
39780+
{
39781+
"source_path": "articles/cognitive-services/speech-service/how-to-choose-recognition-mode.md",
39782+
"redirect_url": "/azure/cognitive-services/speech-service/get-started-speech-to-text",
39783+
"redirect_document_id": false
39784+
},
39785+
{
39786+
"source_path": "articles/cognitive-services/speech-service/how-to-phrase-lists.md",
39787+
"redirect_url": "/azure/cognitive-services/speech-service/get-started-speech-to-text",
39788+
"redirect_document_id": false
39789+
},
3976539790
{
3976639791
"source_path": "articles/cognitive-services/speech-service/how-to-customize-voice-font.md",
3976739792
"redirect_url": "/azure/cognitive-services/speech-service/how-to-custom-voice-create-voice",
@@ -58068,6 +58093,11 @@
5806858093
"redirect_url": "/azure/private-link/tutorial-private-endpoint-cosmosdb-portal",
5806958094
"redirect_document_id": false
5807058095
},
58096+
{
58097+
"source_path": "articles/batch/cli-samples.md",
58098+
"redirect_url": "/azure/batch/scripts/batch-cli-sample-create-account",
58099+
"redirect_document_id": false
58100+
},
5807158101
{
5807258102
"source_path": "articles/azure-monitor/asp-net-more.md",
5807358103
"redirect_url": "/azure/azure-monitor/azure-monitor-app-hub",

articles/active-directory-b2c/TOC.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,7 @@
180180
href: basic-age-gating.md
181181
- name: Define custom attributes
182182
href: user-flow-custom-attributes.md
183-
- name: API connectors
183+
- name: API connectors (preview)
184184
items:
185185
- name: Overview
186186
href: api-connectors-overview.md

articles/active-directory-b2c/add-api-connector.md

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Add API connectors to user flows
2+
title: Add API connectors to user flows (preview)
33
description: Configure an API connector to be used in a user flow.
44
services: active-directory-b2c
55
ms.service: active-directory
@@ -13,7 +13,7 @@ manager: celestedg
1313
ms.custom: "it-pro"
1414
---
1515

16-
# Add an API connector to a sign-up user flow
16+
# Add an API connector to a sign-up user flow (preview)
1717

1818
To use an [API connector](api-connectors-overview.md), you first create the API connector and then enable it in a user flow.
1919

@@ -234,8 +234,8 @@ Content-type: application/json
234234
| -------------------------------------------------- | ----------------- | -------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
235235
| version | String | Yes | The version of the API. |
236236
| action | String | Yes | Value must be `Continue`. |
237-
| \<builtInUserAttribute> | \<attribute-type> | No | Values can be stored in the directory if they selected as a **Claim to receive** in the API connector configuration and **User attributes** for a user flow. Values can be returned in the token if selected as an **Application claim**. |
238-
| \<extension\_{extensions-app-id}\_CustomAttribute> | \<attribute-type> | No | The returned claim does not need to contain `_<extensions-app-id>_`. Values are be stored in the directory if they selected as a **Claim to receive** in the API connector configuration and **User attribute** for a user flow. Custom attributes cannot be sent back in the token. |
237+
| \<builtInUserAttribute> | \<attribute-type> | No | Returned values can overwrite values collected from a user. They can also be returned in the token if selected as an **Application claim**. |
238+
| \<extension\_{extensions-app-id}\_CustomAttribute> | \<attribute-type> | No | The claim does not need to contain `_<extensions-app-id>_`. Returned values can overwrite values collected from a user. They can also be returned in the token if selected as an **Application claim**. |
239239

240240
### Example of a blocking response
241241

@@ -263,6 +263,8 @@ Content-type: application/json
263263

264264
### Example of a validation-error response
265265

266+
267+
266268
```http
267269
HTTP/1.1 400 Bad Request
268270
Content-type: application/json
@@ -282,6 +284,8 @@ Content-type: application/json
282284
| status | Integer | Yes | Must be value `400` for a ValidationError response. |
283285
| userMessage | String | Yes | Message to display to the user. |
284286

287+
*Note:* HTTP status code has to be "400" in addition to the "status" value in the body of the response.
288+
285289
**End-user experience with a validation-error response**
286290

287291
![Example validation page](./media/add-api-connector/validation-error-postal-code.png)

articles/active-directory-b2c/conditional-access-technical-profile.md

Lines changed: 5 additions & 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: reference
12-
ms.date: 09/01/2020
12+
ms.date: 10/14/2020
1313
ms.author: mimart
1414
ms.subservice: B2C
1515
---
@@ -517,3 +517,7 @@ The following is an example of a relying party file that references this UserJou
517517
</RelyingParty>
518518
</TrustFrameworkPolicy>
519519
```
520+
521+
## Next steps
522+
523+
- You can find an example of a conditional access policy on [GitHub](https://github.com/azure-ad-b2c/samples/tree/master/policies/conditional-access).

articles/active-directory-b2c/custom-email-mailjet.md

Lines changed: 46 additions & 11 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: how-to
12-
ms.date: 08/18/2020
12+
ms.date: 10/15/2020
1313
ms.author: mimart
1414
ms.subservice: B2C
1515
---
@@ -224,15 +224,15 @@ Add the following claims transformation to the `<ClaimsTransformations>` element
224224

225225
## Add DataUri content definition
226226

227-
Below the claims transformations within `<BuildingBlocks>`, add the following [ContentDefinition](contentdefinitions.md) to reference the version 2.0.0 data URI:
227+
Below the claims transformations within `<BuildingBlocks>`, add the following [ContentDefinition](contentdefinitions.md) to reference the version 2.1.0 data URI:
228228

229229
```XML
230230
<ContentDefinitions>
231231
<ContentDefinition Id="api.localaccountsignup">
232-
<DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.0.0</DataUri>
232+
<DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.1.0</DataUri>
233233
</ContentDefinition>
234234
<ContentDefinition Id="api.localaccountpasswordreset">
235-
<DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.0.0</DataUri>
235+
<DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.1.0</DataUri>
236236
</ContentDefinition>
237237
</ContentDefinitions>
238238
```
@@ -370,8 +370,8 @@ For more information, see [Self-asserted technical profile](restful-technical-pr
370370
<TechnicalProfile Id="LocalAccountSignUpWithLogonEmail">
371371
<Metadata>
372372
<!--OTP validation error messages-->
373-
<Item Key="UserMessageIfSessionDoesNotExist">You have exceed the maximum time allowed.</Item>
374-
<Item Key="UserMessageIfMaxRetryAttempted">You have exceed the number of retries allowed.</Item>
373+
<Item Key="UserMessageIfSessionDoesNotExist">You have exceeded the maximum time allowed.</Item>
374+
<Item Key="UserMessageIfMaxRetryAttempted">You have exceeded the number of retries allowed.</Item>
375375
<Item Key="UserMessageIfInvalidCode">You have entered the wrong code.</Item>
376376
<Item Key="UserMessageIfSessionConflict">Cannot verify the code, please try again later.</Item>
377377
</Metadata>
@@ -387,8 +387,8 @@ For more information, see [Self-asserted technical profile](restful-technical-pr
387387
<TechnicalProfile Id="LocalAccountDiscoveryUsingEmailAddress">
388388
<Metadata>
389389
<!--OTP validation error messages-->
390-
<Item Key="UserMessageIfSessionDoesNotExist">You have exceed the maximum time allowed.</Item>
391-
<Item Key="UserMessageIfMaxRetryAttempted">You have exceed the number of retries allowed.</Item>
390+
<Item Key="UserMessageIfSessionDoesNotExist">You have exceeded the maximum time allowed.</Item>
391+
<Item Key="UserMessageIfMaxRetryAttempted">You have exceeded the number of retries allowed.</Item>
392392
<Item Key="UserMessageIfInvalidCode">You have entered the wrong code.</Item>
393393
<Item Key="UserMessageIfSessionConflict">Cannot verify the code, please try again later.</Item>
394394
</Metadata>
@@ -475,14 +475,14 @@ To localize the email, you must send localized strings to Mailjet, or your email
475475
```xml
476476
<ContentDefinitions>
477477
<ContentDefinition Id="api.localaccountsignup">
478-
<DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.0.0</DataUri>
478+
<DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.1.0</DataUri>
479479
<LocalizedResourcesReferences MergeBehavior="Prepend">
480480
<LocalizedResourcesReference Language="en" LocalizedResourcesReferenceId="api.custom-email.en" />
481481
<LocalizedResourcesReference Language="es" LocalizedResourcesReferenceId="api.custom-email.es" />
482482
</LocalizedResourcesReferences>
483483
</ContentDefinition>
484484
<ContentDefinition Id="api.localaccountpasswordreset">
485-
<DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.0.0</DataUri>
485+
<DataUri>urn:com:microsoft:aad:b2c:elements:contract:selfasserted:2.1.0</DataUri>
486486
<LocalizedResourcesReferences MergeBehavior="Prepend">
487487
<LocalizedResourcesReference Language="en" LocalizedResourcesReferenceId="api.custom-email.en" />
488488
<LocalizedResourcesReference Language="es" LocalizedResourcesReferenceId="api.custom-email.es" />
@@ -498,10 +498,45 @@ To localize the email, you must send localized strings to Mailjet, or your email
498498
<InputClaimsTransformation ReferenceId="GetLocalizedStringsForEmail" />
499499
</InputClaimsTransformations>
500500
```
501+
502+
## [Optional] Localize the UI
503+
504+
The Localization element allows you to support multiple locales or languages in the policy for the user journeys. The localization support in policies allows you to provide language-specific strings for both [Verification display control user interface elements](localization-string-ids.md#verification-display-control-user-interface-elements), and [One time password error messages](localization-string-ids.md#one-time-password-error-messages). Add the following LocalizedString to your LocalizedResources.
505+
506+
```XML
507+
<LocalizedResources Id="api.custom-email.en">
508+
<LocalizedStrings>
509+
...
510+
<!-- Display control UI elements-->
511+
<LocalizedString ElementType="DisplayControl" ElementId="emailVerificationControl" StringId="intro_msg">Verification is necessary. Please click Send button.</LocalizedString>
512+
<LocalizedString ElementType="DisplayControl" ElementId="emailVerificationControl" StringId="success_send_code_msg">Verification code has been sent to your inbox. Please copy it to the input box below.</LocalizedString>
513+
<LocalizedString ElementType="DisplayControl" ElementId="emailVerificationControl" StringId="failure_send_code_msg">We are having trouble verifying your email address. Please enter a valid email address and try again.</LocalizedString>
514+
<LocalizedString ElementType="DisplayControl" ElementId="emailVerificationControl" StringId="success_verify_code_msg">E-mail address verified. You can now continue.</LocalizedString>
515+
<LocalizedString ElementType="DisplayControl" ElementId="emailVerificationControl" StringId="failure_verify_code_msg">We are having trouble verifying your email address. Please try again.</LocalizedString>
516+
<LocalizedString ElementType="DisplayControl" ElementId="emailVerificationControl" StringId="but_send_code">Send verification code</LocalizedString>
517+
<LocalizedString ElementType="DisplayControl" ElementId="emailVerificationControl" StringId="but_verify_code">Verify code</LocalizedString>
518+
<LocalizedString ElementType="DisplayControl" ElementId="emailVerificationControl" StringId="but_send_new_code">Send new code</LocalizedString>
519+
<LocalizedString ElementType="DisplayControl" ElementId="emailVerificationControl" StringId="but_change_claims">Change e-mail</LocalizedString>
520+
<!-- Claims-->
521+
<LocalizedString ElementType="ClaimType" ElementId="emailVerificationCode" StringId="DisplayName">Verification Code</LocalizedString>
522+
<LocalizedString ElementType="ClaimType" ElementId="emailVerificationCode" StringId="UserHelpText">Verification code received in the email.</LocalizedString>
523+
<LocalizedString ElementType="ClaimType" ElementId="emailVerificationCode" StringId="AdminHelpText">Verification code received in the email.</LocalizedString>
524+
<LocalizedString ElementType="ClaimType" ElementId="email" StringId="DisplayName">Eamil</LocalizedString>
525+
<!-- Email validation error messages-->
526+
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfSessionDoesNotExist">You have exceeded the maximum time allowed.</LocalizedString>
527+
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfMaxRetryAttempted">You have exceeded the number of retries allowed.</LocalizedString>
528+
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfInvalidCode">You have entered the wrong code.</LocalizedString>
529+
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfSessionConflict">Cannot verify the code, please try again later.</LocalizedString>
530+
<LocalizedString ElementType="ErrorMessage" StringId="UserMessageIfVerificationFailedRetryAllowed">The verification has failed, please try again.</LocalizedString>
531+
</LocalizedStrings>
532+
</LocalizedResources>
533+
```
534+
535+
After you add the localized strings, remove the OTP validation error messages metadata from the LocalAccountSignUpWithLogonEmail and LocalAccountDiscoveryUsingEmailAddress technical profiles.
501536

502537
## Next steps
503538

504539
You can find an example of a custom email verification policy on GitHub:
505540

506541
- [Custom email verification - DisplayControls](https://github.com/azure-ad-b2c/samples/tree/master/policies/custom-email-verifcation-displaycontrol)
507-
- For information about using a custom REST API or any HTTP-based SMTP email provider, see [Define a RESTful technical profile in an Azure AD B2C custom policy](restful-technical-profile.md).
542+
- For information about using a custom REST API or any HTTP-based SMTP email provider, see [Define a RESTful technical profile in an Azure AD B2C custom policy](restful-technical-profile.md).

0 commit comments

Comments
 (0)