Skip to content

Commit 9cb357f

Browse files
authored
Merge pull request #227274 from MicrosoftDocs/main
Publish to live, Tuesday 4 AM PST, 2/14
2 parents 642eafb + 9a46bad commit 9cb357f

File tree

116 files changed

+1488
-826
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

116 files changed

+1488
-826
lines changed

.openpublishing.redirection.azure-monitor.json

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,26 @@
3535
"redirect_url": "/azure/azure-monitor/change/change-analysis",
3636
"redirect_document_id": false
3737
},
38+
{
39+
"source_path_from_root": "/articles/azure-monitor/app/javascript-react-plugin.md",
40+
"redirect_url": "/azure/azure-monitor/app/javascript-framework-extensions",
41+
"redirect_document_id": false
42+
},
43+
{
44+
"source_path_from_root": "/articles/azure-monitor/app/javascript-react-native-plugin.md",
45+
"redirect_url": "/azure/azure-monitor/app/javascript-framework-extensions",
46+
"redirect_document_id": false
47+
},
48+
{
49+
"source_path_from_root": "/articles/azure-monitor/app/javascript-angular-plugin.md",
50+
"redirect_url": "/azure/azure-monitor/app/javascript-framework-extensions",
51+
"redirect_document_id": false
52+
},
53+
{
54+
"source_path_from_root": "/articles/azure-monitor/app/javascript-click-analytics-plugin.md",
55+
"redirect_url": "/azure/azure-monitor/app/javascript-feature-extensions",
56+
"redirect_document_id": false
57+
},
3858
{
3959
"source_path_from_root": "/articles/azure-monitor/app/java-in-process-agent-redirect.md",
4060
"redirect_url": "/azure/azure-monitor/app/opentelemetry-enable",

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

Lines changed: 99 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/07/2022
12+
ms.date: 02/14/2023
1313
ms.author: kengaderdus
1414
ms.subservice: B2C
1515
---
@@ -409,6 +409,104 @@ In the following example, the claims transformation extracts the following claim
409409
- **active**: true
410410
- **birthDate**: 2005-09-23T00:00:00Z
411411

412+
413+
## GetClaimsFromJsonArrayV2
414+
415+
Get a list of specified elements from a string collection JSON elements. Check out the [Live demo](https://github.com/azure-ad-b2c/unit-tests/tree/main/claims-transformation/json#getclaimsfromjsonarrayv2) of this claims transformation.
416+
417+
| Element | TransformationClaimType | Data Type | Notes |
418+
| ---- | ----------------------- | --------- | ----- |
419+
| InputClaim | jsonSourceClaim | stringCollection | The string collection claim with the JSON payloads. This claim is used by the claims transformation to get the claims. |
420+
| InputParameter | errorOnMissingClaims | boolean | Specifies whether to throw an error if one of the claims is missing. |
421+
| InputParameter | includeEmptyClaims | string | Specify whether to include empty claims. |
422+
| InputParameter | jsonSourceKeyName | string | Element key name |
423+
| InputParameter | jsonSourceValueName | string | Element value name |
424+
| OutputClaim | Collection | string, int, boolean, and datetime |List of claims to extract. The name of the claim should be equal to the one specified in _jsonSourceClaim_ input claim. |
425+
426+
### Example of GetClaimsFromJsonArrayV2
427+
428+
In the following example, the claims transformation extracts the following claims: email (string), displayName (string), membershipNum (int), active (boolean) and birthDate (datetime) from the JSON data.
429+
430+
```xml
431+
<ClaimsTransformation Id="GetClaimsFromJson" TransformationMethod="GetClaimsFromJsonArrayV2">
432+
<InputClaims>
433+
<InputClaim ClaimTypeReferenceId="jsonSourceClaim" TransformationClaimType="jsonSource" />
434+
</InputClaims>
435+
<InputParameters>
436+
<InputParameter Id="errorOnMissingClaims" DataType="boolean" Value="false" />
437+
<InputParameter Id="includeEmptyClaims" DataType="boolean" Value="false" />
438+
<InputParameter Id="jsonSourceKeyName" DataType="string" Value="key" />
439+
<InputParameter Id="jsonSourceValueName" DataType="string" Value="value" />
440+
</InputParameters>
441+
<OutputClaims>
442+
<OutputClaim ClaimTypeReferenceId="email" />
443+
<OutputClaim ClaimTypeReferenceId="displayName" />
444+
<OutputClaim ClaimTypeReferenceId="membershipID" />
445+
<OutputClaim ClaimTypeReferenceId="active" />
446+
<OutputClaim ClaimTypeReferenceId="birthDate" />
447+
</OutputClaims>
448+
</ClaimsTransformation>
449+
```
450+
451+
- Input claims:
452+
- **jsonSourceClaim[0]** (string collection first element):
453+
454+
```json
455+
{
456+
"key": "email",
457+
"value": "[email protected]"
458+
}
459+
```
460+
461+
- **jsonSourceClaim[1]** (string collection second element):
462+
463+
```json
464+
{
465+
"key": "displayName",
466+
"value": "Someone"
467+
}
468+
```
469+
470+
- **jsonSourceClaim[2]** (string collection third element):
471+
472+
```json
473+
{
474+
"key": "membershipID",
475+
"value": 6353399
476+
}
477+
```
478+
479+
- **jsonSourceClaim[3]** (string collection fourth element):
480+
481+
```json
482+
{
483+
"key": "active",
484+
"value": true
485+
}
486+
```
487+
488+
- **jsonSourceClaim[4]** (string collection fifth element):
489+
490+
```json
491+
{
492+
"key": "birthDate",
493+
"value": "2005-09-23T00:00:00Z"
494+
}
495+
```
496+
497+
- Input parameters:
498+
- **errorOnMissingClaims**: false
499+
- **includeEmptyClaims**: false
500+
- **jsonSourceKeyName**: key
501+
- **jsonSourceValueName**: value
502+
- Output claims:
503+
- **email**: "[email protected]"
504+
- **displayName**: "Someone"
505+
- **membershipID**: 6353399
506+
- **active**: true
507+
- **birthDate**: 2005-09-23T00:00:00Z
508+
509+
412510
## GetNumericClaimFromJson
413511

414512
Gets a specified numeric (long) element from a JSON data. Check out the [Live demo](https://github.com/azure-ad-b2c/unit-tests/tree/main/claims-transformation/json#getnumericclaimfromjson) of this claims transformation.

articles/active-directory/authentication/concept-authentication-oath-tokens.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ Users may have a combination of up to five OATH hardware tokens or authenticator
6363

6464
.[!IMPORTANT]
6565
>Make sure to only assign each token to a single user.
66-
In the future, support for the assignment of a single token to multiple users will stop to prevent a security risk.
66+
>In the future, support for the assignment of a single token to multiple users will stop to prevent a security risk.
6767
6868

6969
## Determine OATH token registration type in mysecurityinfo

articles/active-directory/develop/howto-handle-samesite-cookie-changes-chrome-browser.md

Lines changed: 18 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,12 @@ ms.service: active-directory
99
ms.subservice: develop
1010
ms.workload: identity
1111
ms.topic: conceptual
12-
ms.date: 01/27/2020
12+
ms.date: 02/07/2023
1313
ms.author: henrymbugua
1414
ms.reviewer: kkrishna, jmprieur
1515
ms.custom: aaddev
1616
---
17+
1718
# Handle SameSite cookie changes in Chrome browser
1819

1920
## What is SameSite?
@@ -29,7 +30,7 @@ By default, the `SameSite` value is NOT set in browsers and that's why there are
2930

3031
Recent [updates to the standards on SameSite](https://tools.ietf.org/html/draft-west-cookie-incrementalism-00) propose protecting apps by making the default behavior of `SameSite` when no value is set to Lax. This mitigation means cookies will be restricted on HTTP requests except GET made from other sites. Additionally, a value of **None** is introduced to remove restrictions on cookies being sent. These updates will soon be released in an upcoming version of the Chrome browser.
3132

32-
When web apps authenticate with the Microsoft Identity platform using the response mode "form_post", the login server responds to the application using an HTTP POST to send the tokens or auth code. Because this request is a cross-domain request (from `login.microsoftonline.com` to your domain - for instance `https://contoso.com/auth`), cookies that were set by your app now fall under the new rules in Chrome. The cookies that need to be used in cross-site scenarios are cookies that hold the *state* and *nonce* values, that are also sent in the login request. There are other cookies dropped by Azure AD to hold the session.
33+
When web apps authenticate with the Microsoft identity platform using the response mode "form_post", the login server responds to the application using an HTTP POST to send the tokens or auth code. Because this request is a cross-domain request (from `login.microsoftonline.com` to your domain - for instance `https://contoso.com/auth`), cookies that were set by your app now fall under the new rules in Chrome. The cookies that need to be used in cross-site scenarios are cookies that hold the _state_ and _nonce_ values, that are also sent in the login request. There are other cookies dropped by Azure Active Directory (Azure AD) to hold the session.
3334

3435
If you don't update your web apps, this new behavior will result in authentication failures.
3536

@@ -39,17 +40,17 @@ To overcome the authentication failures, web apps authenticating with the Micros
3940
Other browsers (see [here](https://www.chromium.org/updates/same-site/incompatible-clients) for a complete list) follow the previous behavior of `SameSite` and won't include the cookies if `SameSite=None` is set.
4041
That's why, to support authentication on multiple browsers web apps will have to set the `SameSite` value to `None` only on Chrome and leave the value empty on other browsers.
4142

42-
This approach is demonstrated in our code samples below.
43+
This approach is demonstrated in the following sample code.
4344

4445
# [.NET](#tab/dotnet)
4546

46-
The table below presents the pull requests that worked around the SameSite changes in our ASP.NET and ASP.NET Core samples.
47+
The following table presents the pull requests that worked around the SameSite changes in our ASP.NET and ASP.NET Core samples.
4748

48-
| Sample | Pull request |
49-
| ------ | ------------ |
50-
| [ASP.NET Core web app incremental tutorial](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2) | [Same site cookie fix #261](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/pull/261) |
51-
| [ASP.NET MVC web app sample](https://github.com/Azure-Samples/ms-identity-aspnet-webapp-openidconnect) | [Same site cookie fix #35](https://github.com/Azure-Samples/ms-identity-aspnet-webapp-openidconnect/pull/35) |
52-
| [active-directory-dotnet-admin-restricted-scopes-v2](https://github.com/azure-samples/active-directory-dotnet-admin-restricted-scopes-v2) | [Same site cookie fix #28](https://github.com/Azure-Samples/active-directory-dotnet-admin-restricted-scopes-v2/pull/28) |
49+
| Sample | Pull request |
50+
| ----------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------- |
51+
| [ASP.NET Core web app incremental tutorial](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2) | [Same site cookie fix #261](https://github.com/Azure-Samples/active-directory-aspnetcore-webapp-openidconnect-v2/pull/261) |
52+
| [ASP.NET MVC web app sample](https://github.com/Azure-Samples/ms-identity-aspnet-webapp-openidconnect) | [Same site cookie fix #35](https://github.com/Azure-Samples/ms-identity-aspnet-webapp-openidconnect/pull/35) |
53+
| [active-directory-dotnet-admin-restricted-scopes-v2](https://github.com/azure-samples/active-directory-dotnet-admin-restricted-scopes-v2) | [Same site cookie fix #28](https://github.com/Azure-Samples/active-directory-dotnet-admin-restricted-scopes-v2/pull/28) |
5354

5455
for details on how to handle SameSite cookies in ASP.NET and ASP.NET Core, see also:
5556

@@ -58,16 +59,16 @@ for details on how to handle SameSite cookies in ASP.NET and ASP.NET Core, see a
5859

5960
# [Python](#tab/python)
6061

61-
| Sample |
62-
| ------ |
63-
| [ms-identity-python-webapp](https://github.com/Azure-Samples/ms-identity-python-webapp) |
62+
| Sample |
63+
| --------------------------------------------------------------------------------------- |
64+
| [ms-identity-python-webapp](https://github.com/Azure-Samples/ms-identity-python-webapp) |
6465

6566
# [Java](#tab/java)
6667

67-
| Sample | Pull request |
68-
| ------ | ------------ |
69-
| [ms-identity-java-webapp](https://github.com/Azure-Samples/ms-identity-java-webapp) | [Same site cookie fix #24](https://github.com/Azure-Samples/ms-identity-java-webapp/pull/24)
70-
| [ms-identity-java-webapi](https://github.com/Azure-Samples/ms-identity-java-webapi) | [Same site cookie fix #4](https://github.com/Azure-Samples/ms-identity-java-webapi/pull/4)
68+
| Sample | Pull request |
69+
| ----------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------- |
70+
| [ms-identity-java-webapp](https://github.com/Azure-Samples/ms-identity-java-webapp) | [Same site cookie fix #24](https://github.com/Azure-Samples/ms-identity-java-webapp/pull/24) |
71+
| [ms-identity-java-webapi](https://github.com/Azure-Samples/ms-identity-java-webapi) | [Same site cookie fix #4](https://github.com/Azure-Samples/ms-identity-java-webapi/pull/4) |
7172

7273
---
7374

@@ -79,4 +80,4 @@ Learn more about SameSite and the Web app scenario:
7980

8081
- [Chromium SameSite page](https://www.chromium.org/updates/same-site)
8182

82-
- [Scenario: Web app that signs in users](scenario-web-app-sign-user-overview.md)
83+
- [Scenario: Web app that signs in users](scenario-web-app-sign-user-overview.md)

0 commit comments

Comments
 (0)