Skip to content

Commit 43ff87f

Browse files
committed
Resolve conflict
2 parents a67e8e1 + bbf13dc commit 43ff87f

File tree

1,148 files changed

+11702
-7816
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,148 files changed

+11702
-7816
lines changed

.openpublishing.redirection.json

Lines changed: 75 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -14642,6 +14642,11 @@
1464214642
"redirect_url": "/azure-stack/user/azure-stack-vpn-gateway-about-vpn-gateways",
1464314643
"redirect_document_id": false
1464414644
},
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+
},
1464514650
{
1464614651
"source_path": "articles/azure-vmware/tutorial-deploy-vm-content-library.md",
1464714652
"redirect_url": "/azure/azure-vmware/deploy-vm-content-library",
@@ -34259,7 +34264,7 @@
3425934264
},
3426034265
{
3426134266
"source_path": "articles/stream-analytics/stream-analytics-data-lake-output.md",
34262-
"redirect_url": "/azure/stream-analytics/stream-analytics-define-outputs#azure-data-lake-store",
34267+
"redirect_url": "/azure/stream-analytics/stream-analytics-define-outputs",
3426334268
"redirect_document_id": false
3426434269
},
3426534270
{
@@ -38513,18 +38518,28 @@
3851338518
},
3851438519
{
3851538520
"source_path": "articles/active-directory/application-sign-in-problem-custom-dev.md",
38516-
"redirect_url": "/azure/active-directory/manage-apps/application-sign-in-problem-custom-dev",
38521+
"redirect_url": "/azure/active-directory/manage-apps/application-sign-in-problem-federated-sso-gallery",
3851738522
"redirect_document_id": true
3851838523
},
38524+
{
38525+
"source_path": "articles/active-directory/manage-apps/application-sign-in-problem-custom-dev.md",
38526+
"redirect_url": "/azure/active-directory/manage-apps/application-sign-in-problem-federated-sso-gallery",
38527+
"redirect_document_id": false
38528+
},
3851938529
{
3852038530
"source_path": "articles/active-directory/application-sign-in-problem-federated-sso-gallery.md",
3852138531
"redirect_url": "/azure/active-directory/manage-apps/application-sign-in-problem-federated-sso-gallery",
38522-
"redirect_document_id": true
38532+
"redirect_document_id": false
3852338533
},
3852438534
{
3852538535
"source_path": "articles/active-directory/application-sign-in-problem-federated-sso-non-gallery.md",
38526-
"redirect_url": "/azure/active-directory/manage-apps/application-sign-in-problem-federated-sso-non-gallery",
38527-
"redirect_document_id": true
38536+
"redirect_url": "/azure/active-directory/manage-apps/application-sign-in-problem-federated-sso-gallery",
38537+
"redirect_document_id": false
38538+
},
38539+
{
38540+
"source_path": "articles/active-directory/manage-apps/application-sign-in-problem-federated-sso-non-gallery.md",
38541+
"redirect_url": "/azure/active-directory/manage-apps/application-sign-in-problem-federated-sso-gallery",
38542+
"redirect_document_id": false
3852838543
},
3852938544
{
3853038545
"source_path": "articles/active-directory/application-sign-in-problem-first-party-microsoft.md",
@@ -39772,6 +39787,16 @@
3977239787
"redirect_url": "/azure/cognitive-services/speech-service/overview",
3977339788
"redirect_document_id": true
3977439789
},
39790+
{
39791+
"source_path": "articles/cognitive-services/speech-service/how-to-choose-recognition-mode.md",
39792+
"redirect_url": "/azure/cognitive-services/speech-service/get-started-speech-to-text",
39793+
"redirect_document_id": false
39794+
},
39795+
{
39796+
"source_path": "articles/cognitive-services/speech-service/how-to-phrase-lists.md",
39797+
"redirect_url": "/azure/cognitive-services/speech-service/get-started-speech-to-text",
39798+
"redirect_document_id": false
39799+
},
3977539800
{
3977639801
"source_path": "articles/cognitive-services/speech-service/how-to-customize-voice-font.md",
3977739802
"redirect_url": "/azure/cognitive-services/speech-service/how-to-custom-voice-create-voice",
@@ -43529,17 +43554,17 @@
4352943554
},
4353043555
{
4353143556
"source_path": "articles/azure-monitor/platform/resource-logs-stream-event-hubs.md",
43532-
"redirect_url": "/azure/azure-monitor/platform/resource-logs#collect-to-azure-event-hubs",
43557+
"redirect_url": "/azure/azure-monitor/platform/resource-logs#send-to-azure-event-hubs",
4353343558
"redirect_document_id": false
4353443559
},
4353543560
{
4353643561
"source_path": "articles/azure-monitor/platform/resource-logs-collect-storage.md",
43537-
"redirect_url": "/azure/azure-monitor/platform/resource-logs#collect-to-azure-storage",
43562+
"redirect_url": "/azure/azure-monitor/platform/resource-logs#send-to-azure-storage",
4353843563
"redirect_document_id": false
4353943564
},
4354043565
{
4354143566
"source_path": "articles/azure-monitor/platform/resource-logs-collect-workspace.md",
43542-
"redirect_url": "/azure/azure-monitor/platform/resource-logs#collect-to-log-analytics-workspace",
43567+
"redirect_url": "/azure/azure-monitor/platform/resource-logs#send-to-log-analytics-workspace",
4354343568
"redirect_document_id": false
4354443569
},
4354543570
{
@@ -58087,6 +58112,48 @@
5808758112
"source_path": "articles/azure-monitor/asp-net-more.md",
5808858113
"redirect_url": "/azure/azure-monitor/azure-monitor-app-hub",
5808958114
"redirect_document_id": false
58115+
},
58116+
{
58117+
"source_path": "articles/cognitive-services/QnAMaker/Concepts/design-language-culture.md",
58118+
"redirect_url": "/azure/cognitive-services/QnAMaker/index",
58119+
"redirect_document_id": false
58120+
},
58121+
{
58122+
"source_path": "articles/cognitive-services/QnAMaker/Concepts/integration-with-other-applications.md",
58123+
"redirect_url": "/azure/cognitive-services/QnAMaker/index",
58124+
"redirect_document_id": false
58125+
},
58126+
{
58127+
"source_path": "articles/cognitive-services/QnAMaker/How-to/collaborate-knowledge-base.md",
58128+
"redirect_url": "/azure/cognitive-services/QnAMaker/index",
58129+
"redirect_document_id": false
58130+
},
58131+
{
58132+
"source_path": "articles/cognitive-services/QnAMaker/How-to/use-active-learning.md",
58133+
"redirect_url": "/azure/cognitive-services/QnAMaker/index",
58134+
"redirect_document_id": false
58135+
},
58136+
{
58137+
"source_path": "articles/cognitive-services/QnAMaker/How-to/language-knowledge-base.md",
58138+
"redirect_url": "/azure/cognitive-services/QnAMaker/index",
58139+
"redirect_document_id": false
58140+
},
58141+
{
58142+
"source_path": "articles/cognitive-services/QnAMaker/Concepts/knowledge-base.md",
58143+
"redirect_url": "/azure/cognitive-services/QnAMaker/index",
58144+
"redirect_document_id": false
58145+
},
58146+
{
58147+
"source_path": "articles/cognitive-services/QnAMaker/Concepts/content-types.md",
58148+
"redirect_url": "/azure/cognitive-services/QnAMaker/index",
58149+
"redirect_document_id": false
58150+
},
58151+
{
58152+
"source_path": "articles/cognitive-services/QnAMaker/Quickstarts/batch-testing.md",
58153+
"redirect_url": "/azure/cognitive-services/QnAMaker/index",
58154+
"redirect_document_id": false
5809058155
}
58156+
58157+
5809158158
]
5809258159
}

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/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)