Skip to content

Commit 010f3ae

Browse files
committed
Merge branch 'master' of https://github.com/MicrosoftDocs/azure-docs-pr into heidist-fresh
2 parents 1c11875 + 10d381b commit 010f3ae

File tree

1,415 files changed

+17802
-14434
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,415 files changed

+17802
-14434
lines changed

.github/workflows/stale.yml

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,8 @@ jobs:
1919
close-pr-label: auto-close
2020
exempt-pr-labels: keep-open
2121
operations-per-run: 1200
22-
ascending: false
22+
ascending: true
23+
start-date: '2021-04-12'
2324
stale-pr-message: >
2425
This pull request has been inactive for at least 14 days.
2526
If you are finished with your changes, don't forget to sign off. See the [contributor guide](https://review.docs.microsoft.com/help/contribute/contribute-how-to-write-pull-request-automation) for instructions.

.openpublishing.redirection.active-directory.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,11 @@
1919
"source_path_from_root": "/articles/active-directory/develop/active-directory-v2-registration-portal.md",
2020
"redirect_url": "/azure/active-directory/develop/quickstart-register-app",
2121
"redirect_document_id": false
22+
},
23+
{
24+
"source_path_from_root": "/articles/active-directory/manage-apps/access-panel-manage-self-service-access.md",
25+
"redirect_url": "/azure/active-directory/manage-apps/manage-self-service-access",
26+
"redirect_document_id": false
2227
}
2328
]
2429
}

.openpublishing.redirection.healthcare-apis.json

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -177,11 +177,6 @@
177177
"redirect_url": "/azure/healthcare-apis/fhir/register-service-azure-ad-client-app",
178178
"redirect_document_id": true
179179
},
180-
{
181-
"source_path_from_root": "/articles/healthcare-apis/security-controls-policy.md",
182-
"redirect_url": "/azure/healthcare-apis/fhir/security-controls-policy",
183-
"redirect_document_id": true
184-
},
185180
{
186181
"source_path_from_root": "/articles/healthcare-apis/tutorial-web-app-fhir-server.md",
187182
"redirect_url": "/azure/healthcare-apis/fhir/tutorial-web-app-fhir-server",
@@ -334,7 +329,7 @@
334329
},
335330
{
336331
"source_path_from_root": "/articles/healthcare-apis/fhir/partner-ecosystem.md",
337-
"redirect_url": "/azure/healthcare-apis/azure-api-for-fhir/partner-ecosystem",
332+
"redirect_url": "/azure/healthcare-apis/azure-api-for-fhir/fhir-features-supported",
338333
"redirect_document_id": true
339334
},
340335
{
@@ -456,6 +451,11 @@
456451
"source_path_from_root": "/articles/healthcare-apis/azure-api-for-fhir/access-fhir-postman-tutorial.md",
457452
"redirect_url": "/azure/healthcare-apis/use-postman",
458453
"redirect_document_id": true
459-
}
454+
},
455+
{
456+
"source_path_from_root": "/articles/healthcare-apis/fhir/security-controls-policy.md",
457+
"redirect_url": "/azure/healthcare-apis/security-controls-policy",
458+
"redirect_document_id": true
459+
},
460460
]
461461
}

.openpublishing.redirection.json

Lines changed: 435 additions & 4 deletions
Large diffs are not rendered by default.

.openpublishing.redirection.synapse-analytics.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,12 @@
4949
"source_path_from_root": "/articles/synapse-analytics/sql/develop-best-practices.md",
5050
"redirect_url": "/azure/synapse-analytics/sql/best-practices-dedicated-sql-pool",
5151
"redirect_document_id": false
52+
},
53+
{
54+
"source_path_from_root": "/articles/synapse-analytics/sql-data-warehouse/sql-data-warehouse-best-practices-development.md",
55+
"redirect_url": "/azure/synapse-analytics/sql/best-practices-dedicated-sql-pool",
56+
"redirect_document_id": false
5257
}
5358
]
5459
}
60+

articles/active-directory-b2c/best-practices.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: 06/06/2020
12+
ms.date: 10/01/2021
1313
ms.author: vigunase
1414
ms.subservice: B2C
1515
---

articles/active-directory-b2c/implicit-flow-single-page-application.md

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -16,13 +16,13 @@ ms.subservice: B2C
1616

1717
# Single-page sign in using the OAuth 2.0 implicit flow in Azure Active Directory B2C
1818

19-
Many modern applications have a single-page app front end that is written primarily in JavaScript. Often, the app is written by using a framework like React, Angular, or Vue.js. Single-page apps and other JavaScript apps that run primarily in a browser have some additional challenges for authentication:
19+
Many modern applications have a single-page app (SPA) front end that is written primarily in JavaScript. Often, the app is written by using a framework like React, Angular, or Vue.js. SPAs and other JavaScript apps that run primarily in a browser have some additional challenges for authentication:
2020

2121
- The security characteristics of these apps are different from traditional server-based web applications.
2222
- Many authorization servers and identity providers do not support cross-origin resource sharing (CORS) requests.
2323
- Full-page browser redirects away from the app can be invasive to the user experience.
2424

25-
The recommended way of supporting single-page applications is [OAuth 2.0 Authorization code flow (with PKCE)](./authorization-code-flow.md).
25+
The recommended way of supporting SPAs is [OAuth 2.0 Authorization code flow (with PKCE)](./authorization-code-flow.md).
2626

2727
Some frameworks, like [MSAL.js 1.x](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/lib/msal-core), only support the implicit grant flow. In these cases, Azure Active Directory B2C (Azure AD B2C) supports the OAuth 2.0 authorization implicit grant flow. The flow is described in [section 4.2 of the OAuth 2.0 specification](https://tools.ietf.org/html/rfc6749). In implicit flow, the app receives tokens directly from the Azure Active Directory (Azure AD) authorize endpoint, without any server-to-server exchange. All authentication logic and session handling is done entirely in the JavaScript client with either a page redirect or a pop-up box.
2828

@@ -64,7 +64,7 @@ client_id=90c0fe63-bcf2-44d5-8fb7-b8bbc0b29dc6
6464

6565
At this point, the user is asked to complete the policy's workflow. The user might have to enter their username and password, sign in with a social identity, sign up for the directory, or any other number of steps. User actions depend on how the user flow is defined.
6666

67-
After the user completes the user flow, Azure AD returns a response to your app at the value you used for `redirect_uri`. It uses the method specified in the `response_mode` parameter. The response is exactly the same for each of the user action scenarios, independent of the user flow that was executed.
67+
After the user completes the user flow, Azure AD B2C returns a response to your app at the value you used for `redirect_uri`. It uses the method specified in the `response_mode` parameter. The response is exactly the same for each of the user action scenarios, independent of the user flow that was executed.
6868

6969
### Successful response
7070
A successful response that uses `response_mode=fragment` and `response_type=id_token+token` looks like the following, with line breaks for legibility:
@@ -122,7 +122,9 @@ One of the properties of this configuration document is the `jwks_uri`. The valu
122122
https://fabrikamb2c.b2clogin.com/fabrikamb2c.onmicrosoft.com/b2c_1_sign_in/discovery/v2.0/keys
123123
```
124124

125-
To determine which user flow was used to sign an ID token (and where to fetch the metadata from), you have two options. First, the user flow name is included in the `acr` claim in `id_token`. For information about how to parse the claims from an ID token, see the [Azure AD B2C token reference](tokens-overview.md). Your other option is to encode the user flow in the value of the `state` parameter when you issue the request. Then, decode the `state` parameter to determine which user flow was used. Either method is valid.
125+
To determine which user flow was used to sign an ID token (and where to fetch the metadata from), you have two options:
126+
- The user flow name is included in the `acr` claim in `id_token`. For information about how to parse the claims from an ID token, see the [Azure AD B2C token reference](tokens-overview.md).
127+
- Encode the user flow in the value of the `state` parameter when you issue the request. Then, decode the `state` parameter to determine which user flow was used. Either method is valid.
126128

127129
After you've acquired the metadata document from the OpenID Connect metadata endpoint, you can use the RSA-256 public keys (located at this endpoint) to validate the signature of the ID token. There might be multiple keys listed at this endpoint at any given time, each identified by a `kid`. The header of `id_token` also contains a `kid` claim. It indicates which of these keys was used to sign the ID token. For more information, including learning about [validating tokens](tokens-overview.md), see the [Azure AD B2C token reference](tokens-overview.md).
128130
<!--TODO: Improve the information on this-->
@@ -146,7 +148,7 @@ After you have validated the ID token, you can begin a session with the user. In
146148
## Get access tokens
147149
If the only thing your web apps needs to do is execute user flows, you can skip the next few sections. The information in the following sections is applicable only to web apps that need to make authenticated calls to a web API, and which are protected by Azure AD B2C.
148150

149-
Now that you've signed the user into your single-page app, you can get access tokens for calling web APIs that are secured by Azure AD. Even if you have already received a token by using the `token` response type, you can use this method to acquire tokens for additional resources without redirecting the user to sign in again.
151+
Now that you've signed the user into your SPA, you can get access tokens for calling web APIs that are secured by Azure AD. Even if you have already received a token by using the `token` response type, you can use this method to acquire tokens for additional resources without redirecting the user to sign in again.
150152

151153
In a typical web app flow, you would make a request to the `/token` endpoint. However, the endpoint does not support CORS requests, so making AJAX calls to get a refresh token is not an option. Instead, you can use the implicit flow in a hidden HTML iframe element to get new tokens for other web APIs. Here's an example, with line breaks for legibility:
152154

@@ -241,4 +243,4 @@ GET https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/oauth2/v2.0/
241243
242244
## Next steps
243245

244-
See the code sample: [Sign-in with Azure AD B2C in a JavaScript single-page application](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/msal-core-samples/VanillaJSTestApp/app/b2c).
246+
See the code sample: [Sign-in with Azure AD B2C in a JavaScript SPA](https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/samples/msal-core-samples/VanillaJSTestApp/app/b2c).

articles/active-directory-b2c/localization-string-ids.md

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ The **Localization** element enables you to support multiple locales or language
2424
The following IDs are used for a content definition with an ID of `api.signuporsignin`, and [self-asserted technical profile](self-asserted-technical-profile.md).
2525

2626
| ID | Default value | Page Layout Version |
27-
| -- | ------------- | ------ |
27+
| --- | ------------- | ------ |
2828
| **forgotpassword_link** | Forgot your password? | `All` |
2929
| **createaccount_intro** | Don't have an account? | `All` |
3030
| **button_signin** | Sign in | `All` |
@@ -92,7 +92,7 @@ The following example localizes the Facebook identity provider to Arabic:
9292
### Sign-up or sign-in error messages
9393

9494
| ID | Default value |
95-
| -- | ------------- |
95+
| --- | ------------- |
9696
| **UserMessageIfInvalidPassword** | Your password is incorrect. |
9797
| **UserMessageIfPasswordExpired**| Your password has expired.|
9898
| **UserMessageIfClaimsPrincipalDoesNotExist** | We can't seem to find your account. |
@@ -142,7 +142,7 @@ The following example localizes the Facebook identity provider to Arabic:
142142
The following are the IDs for a content definition with an ID of `api.localaccountsignup` or any content definition that starts with `api.selfasserted`, such as `api.selfasserted.profileupdate` and `api.localaccountpasswordreset`, and [self-asserted technical profile](self-asserted-technical-profile.md).
143143

144144
| ID | Default value |
145-
| -- | ------------- |
145+
| --- | ------------- |
146146
| **ver_sent** | Verification code has been sent to: |
147147
| **ver_but_default** | Default |
148148
| **cancel_message** | The user has canceled entering self-asserted information |
@@ -181,7 +181,7 @@ The following are the IDs for a content definition with an ID of `api.localaccou
181181
### Sign-up and self-asserted pages error messages
182182

183183
| ID | Default value |
184-
| -- | ------------- |
184+
| --- | ------------- |
185185
| **UserMessageIfClaimsPrincipalAlreadyExists** | A user with the specified ID already exists. Please choose a different one. |
186186
| **UserMessageIfClaimNotVerified** | Claim not verified: {0} |
187187
| **UserMessageIfIncorrectPattern** | Incorrect pattern for: {0} |
@@ -255,7 +255,7 @@ The following example shows the use of some of the user interface elements in th
255255
The Following are the IDs for a content definition with an ID of `api.phonefactor`, and [phone factor technical profile](phone-factor-technical-profile.md).
256256

257257
| ID | Default value | Page Layout Version |
258-
| -- | ------------- | ------ |
258+
| --- | ------------- | ------ |
259259
| **button_verify** | Call Me | `All` |
260260
| **country_code_label** | Country Code | `All` |
261261
| **cancel_message** | The user has canceled multi-factor authentication | `All` |
@@ -279,7 +279,7 @@ The Following are the IDs for a content definition with an ID of `api.phonefacto
279279
| **invalid_number** | Please enter a valid phone number | `All` |
280280
| **intro_sms** | We have the following number on record for you. We will send a code via SMS to authenticate you. | `All` |
281281
| **intro_entry_mixed** | Enter a number below that we can send a code via SMS or phone to authenticate you. | `All` |
282-
| **number_pattern** | ^\\+(?:[0-9][\\x20-]?){6,14}[0-9]$ | `All` |
282+
| **number_pattern** | `^\\+(?:[0-9][\\x20-]?){6,14}[0-9]$` | `All` |
283283
| **intro_sms_p** |We have the following numbers on record for you. Choose a number that we can send a code via SMS to authenticate you. | `All` |
284284
| **requiredField_countryCode** | Please select your country code | `All` |
285285
| **requiredField_number** | Please enter your phone number | `All` |
@@ -357,7 +357,7 @@ The following example shows the use of some of the user interface elements in th
357357
The following are the IDs for a [Verification display control](display-control-verification.md) with [page layout version](page-layout.md) 2.1.0 or higher.
358358

359359
| ID | Default value |
360-
| -- | ------------- |
360+
| --- | ------------- |
361361
|intro_msg <sup>*</sup>| Verification is necessary. Please click Send button.|
362362
|success_send_code_msg | Verification code has been sent. Please copy it to the input box below.|
363363
|failure_send_code_msg | We are having trouble verifying your email address. Please enter a valid email address and try again.|
@@ -398,7 +398,7 @@ Note: The `intro_msg` element is hidden, and not shown on the self-asserted page
398398
The following are the IDs for a [Verification display control](display-control-verification.md) with [page layout version](page-layout.md) 2.0.0.
399399

400400
| ID | Default value |
401-
| -- | ------------- |
401+
| --- | ------------- |
402402
|verification_control_but_change_claims |Change |
403403
|verification_control_fail_send_code |Failed to send the code, please try again later. |
404404
|verification_control_fail_verify_code |Failed to verify the code, please try again later. |
@@ -428,7 +428,7 @@ The following are the IDs for a [Verification display control](display-control-v
428428
The following are the IDs for [Restful service technical profile](restful-technical-profile.md) error messages:
429429

430430
| ID | Default value |
431-
| -- | ------------- |
431+
| --- | ------------- |
432432
|DefaultUserMessageIfRequestFailed | Failed to establish connection to restful service end point. Restful service URL: {0} |
433433
|UserMessageIfCircuitOpen | {0} Restful Service URL: {1} |
434434
|UserMessageIfDnsResolutionFailed | Failed to resolve the hostname of the restful service endpoint. Restful service URL: {0} |
@@ -453,7 +453,7 @@ The following are the IDs for [Restful service technical profile](restful-techni
453453
The following are the IDs for an [Azure AD MFA technical profile](multi-factor-auth-technical-profile.md) error message:
454454

455455
| ID | Default value |
456-
| -- | ------------- |
456+
| --- | ------------- |
457457
|UserMessageIfCouldntSendSms | Cannot Send SMS to the phone, please try another phone number. |
458458
|UserMessageIfInvalidFormat | Your phone number is not in a valid format, please correct it and try again.|
459459
|UserMessageIfMaxAllowedCodeRetryReached | Wrong code entered too many times, please try again later.|
@@ -481,7 +481,7 @@ The following are the IDs for an [Azure AD MFA technical profile](multi-factor-a
481481
The following are the IDs for [Azure AD SSPR technical profile](aad-sspr-technical-profile.md) error messages:
482482

483483
| ID | Default value |
484-
| -- | ------------- |
484+
| --- | ------------- |
485485
|UserMessageIfChallengeExpired | The code has expired.|
486486
|UserMessageIfInternalError | The email service has encountered an internal error, please try again later.|
487487
|UserMessageIfThrottled | You have sent too many requests, please try again later.|
@@ -507,8 +507,8 @@ The following are the IDs for [Azure AD SSPR technical profile](aad-sspr-technic
507507

508508
The following are the IDs for a [one-time password technical profile](one-time-password-technical-profile.md) error messages
509509

510-
| ID | Default value |
511-
| -- | ------------- |
510+
| ID | Default value | Description |
511+
| --- | ------------- | ----------- |
512512
| UserMessageIfSessionDoesNotExist | No | The message to display to the user if the code verification session has expired. It is either the code has expired or the code has never been generated for a given identifier. |
513513
| UserMessageIfMaxRetryAttempted | No | The message to display to the user if they've exceeded the maximum allowed verification attempts. |
514514
| UserMessageIfMaxNumberOfCodeGenerated | No | The message to display to the user if the code generation has exceeded the maximum allowed number of attempts. |
@@ -536,7 +536,7 @@ The following are the IDs for a [one-time password technical profile](one-time-p
536536
The following are the IDs for claims transformations error messages:
537537

538538
| ID | Claims transformation | Default value |
539-
| -- | ------------- |------------- |
539+
| --- | ------------- |------------- |
540540
|UserMessageIfClaimsTransformationBooleanValueIsNotEqual |[AssertBooleanClaimIsEqualToValue](boolean-transformations.md#assertbooleanclaimisequaltovalue) | Boolean claim value comparison failed for claim type "inputClaim".|
541541
|DateTimeGreaterThan |[AssertDateTimeIsGreaterThan](date-transformations.md#assertdatetimeisgreaterthan) | Claim value comparison failed: The provided left operand is greater than the right operand.|
542542
|UserMessageIfClaimsTransformationStringsAreNotEqual |[AssertStringClaimsAreEqual](string-transformations.md#assertstringclaimsareequal) | Claim value comparison failed using StringComparison "OrdinalIgnoreCase".|

0 commit comments

Comments
 (0)