Skip to content

Commit 3836a20

Browse files
authored
Merge branch 'MicrosoftDocs:main' into patch-45
2 parents 05197c2 + 260a1a3 commit 3836a20

File tree

1,807 files changed

+25511
-11322
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,807 files changed

+25511
-11322
lines changed

.openpublishing.redirection.active-directory.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10941,6 +10941,11 @@
1094110941
"redirect_url": "/azure/active-directory-b2c/tenant-management-add-administrator",
1094210942
"redirect_document_id": false
1094310943
},
10944+
{
10945+
"source_path_from_root": "/articles/active-directory-b2c/support-options.md",
10946+
"redirect_url": "/azure/active-directory-b2c/find-help-open-support-ticket",
10947+
"redirect_document_id": false
10948+
},
1094410949
{
1094510950
"source_path": "articles/active-directory/managed-identities-azure-resources/how-to-manage-ua-identity-arm.md",
1094610951
"redirect_url": "/azure/active-directory/managed-identities-azure-resources/how-manage-user-assigned-managed-identities?pivots=identity-mi-methods-arm",

.openpublishing.redirection.azure-monitor.json

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,16 @@
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.md",
40+
"redirect_url": "/azure/azure-monitor/app/javascript-sdk",
41+
"redirect_document_id": false
42+
},
43+
{
44+
"source_path_from_root": "/articles/azure-monitor/app/source-map-support.md",
45+
"redirect_url": "/azure/azure-monitor/app/javascript-sdk-advanced",
46+
"redirect_document_id": false
47+
},
3848
{
3949
"source_path_from_root": "/articles/azure-monitor/app/release-notes.md",
4050
"redirect_url": "/azure/azure-monitor/app/app-insights-overview",
@@ -3863,12 +3873,12 @@
38633873
"redirect_document_id": false
38643874
},
38653875
{
3866-
"source_path_from_root": "/articles/azure-monitor/platform/alerts-common-schema-definitions.md",
3876+
"source_path_from_root": "/articles/azure-monitor/platform/alerts-common-schema.md",
38673877
"redirect_url": "/azure/azure-monitor/alerts/alerts-common-schema",
38683878
"redirect_document_id": false
38693879
},
38703880
{
3871-
"source_path_from_root": "/articles/azure-monitor/platform/alerts-common-schema.md",
3881+
"source_path_from_root": "/articles/azure-monitor/platform/alerts-common-schema-definitions.md",
38723882
"redirect_url": "/azure/azure-monitor/alerts/alerts-common-schema",
38733883
"redirect_document_id": false
38743884
},
@@ -3877,6 +3887,11 @@
38773887
"redirect_url": "/azure/azure-monitor/alerts/alerts-common-schema",
38783888
"redirect_document_id": false
38793889
},
3890+
{
3891+
"source_path_from_root": "/articles/azure-monitor/alerts/alerts-common-schema-test-action-definitions.md",
3892+
"redirect_url": "/azure/azure-monitor/alerts/alerts-payload-samples",
3893+
"redirect_document_id": false
3894+
},
38803895
{
38813896
"source_path_from_root": "/articles/azure-monitor/platform/alerts-common-schema-integrations.md",
38823897
"redirect_url": "/azure/azure-monitor/alerts/alerts-common-schema-integrations",
@@ -6000,6 +6015,26 @@
60006015
"source_path_from_root": "/articles/azure-monitor/app/availability-multistep.md",
60016016
"redirect_url": "/previous-versions/azure/azure-monitor/app/availability-multistep",
60026017
"redirect_document_id": false
6018+
},
6019+
{
6020+
"source_path_from_root": "/articles/azure-monitor/app/status-monitor-v2-overview.md",
6021+
"redirect_url": "/azure/azure-monitor/app/application-insights-asp-net-agent",
6022+
"redirect_document_id": false
6023+
},
6024+
{
6025+
"source_path_from_root": "/articles/azure-monitor/app/status-monitor-v2-get-started.md",
6026+
"redirect_url": "/azure/azure-monitor/app/application-insights-asp-net-agent",
6027+
"redirect_document_id": false
6028+
},
6029+
{
6030+
"source_path_from_root": "/articles/azure-monitor/app/status-monitor-v2-detailed-instructions.md",
6031+
"redirect_url": "/azure/azure-monitor/app/application-insights-asp-net-agent",
6032+
"redirect_document_id": false
6033+
},
6034+
{
6035+
"source_path_from_root": "/articles/azure-monitor/app/status-monitor-v2-api-reference.md",
6036+
"redirect_url": "/azure/azure-monitor/app/application-insights-asp-net-agent",
6037+
"redirect_document_id": false
60036038
}
60046039
]
60056040
}

.openpublishing.redirection.azure-productivity.json

Lines changed: 55 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -89,6 +89,61 @@
8989
"source_path": "articles/lab-services/troubleshoot.md",
9090
"redirect_url": "/azure/lab-services/troubleshoot-lab-creation",
9191
"redirect_document_id": true
92+
},
93+
{
94+
"source_path": "articles/lab-services/quick-create-lab-portal.md",
95+
"redirect_url": "/azure/lab-services/quick-create-connect-lab",
96+
"redirect_document_id": true
97+
},
98+
{
99+
"source_path": "articles/lab-services/tutorial-setup-lab-plan.md",
100+
"redirect_url": "/azure/lab-services/quick-create-resources",
101+
"redirect_document_id": true
102+
},
103+
{
104+
"source_path": "articles/lab-services/quick-create-lab-plan-portal.md",
105+
"redirect_url": "/azure/lab-services/quick-create-resources",
106+
"redirect_document_id": false
107+
},
108+
{
109+
"source_path": "articles/lab-services/quick-create-lab-bicep.md",
110+
"redirect_url": "/azure/lab-services/how-to-create-lab-bicep",
111+
"redirect_document_id": true
112+
},
113+
{
114+
"source_path": "articles/lab-services/quick-create-lab-plan-bicep.md",
115+
"redirect_url": "/azure/lab-services/how-to-create-lab-plan-bicep",
116+
"redirect_document_id": true
117+
},
118+
{
119+
"source_path": "articles/lab-services/quick-create-lab-plan-powershell.md",
120+
"redirect_url": "/azure/lab-services/how-to-create-lab-plan-powershell",
121+
"redirect_document_id": true
122+
},
123+
{
124+
"source_path": "articles/lab-services/quick-create-lab-plan-python.md",
125+
"redirect_url": "/azure/lab-services/how-to-create-lab-plan-python",
126+
"redirect_document_id": true
127+
},
128+
{
129+
"source_path": "articles/lab-services/quick-create-lab-plan-template.md",
130+
"redirect_url": "/azure/lab-services/how-to-create-lab-plan-template",
131+
"redirect_document_id": true
132+
},
133+
{
134+
"source_path": "articles/lab-services/quick-create-lab-powershell.md",
135+
"redirect_url": "/azure/lab-services/how-to-create-lab-powershell",
136+
"redirect_document_id": true
137+
},
138+
{
139+
"source_path": "articles/lab-services/quick-create-lab-python.md",
140+
"redirect_url": "/azure/lab-services/how-to-create-lab-python",
141+
"redirect_document_id": true
142+
},
143+
{
144+
"source_path": "articles/lab-services/quick-create-lab-template.md",
145+
"redirect_url": "/azure/lab-services/how-to-create-lab-template",
146+
"redirect_document_id": true
92147
}
93148
]
94149
}

.openpublishing.redirection.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
{
22
"redirections": [
3+
{
4+
"source_path": "articles/databox-online/azure-stack-edge-zero-touch-provisioning.md",
5+
"redirect_url": "/azure/databox-online/azure-stack-edge-powershell-based-configuration",
6+
"redirect_document_id": false
7+
},
38
{
49
"source_path": "articles/azure-video-analyzer/video-analyzer-docs/access-policies.md",
510
"redirect_url": "/previous-versions/azure/azure-video-analyzer/video-analyzer-docs/access-policies",

articles/active-directory-b2c/custom-policies-series-call-rest-api.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -104,7 +104,7 @@ You need to deploy an app, which will serve as your external app. Your custom po
104104

105105
1. To test the app works as expected, use the following steps:
106106
1. In your terminal, run the `node index.js` command to start your app server.
107-
1. To make a POST request similar to the one shown below, you can use an HTTP client such as [Microsoft PowerShell](https://learn.microsoft.com/powershell/scripting/overview) or [Postman](https://www.postman.com/):
107+
1. To make a POST request similar to the one shown below, you can use an HTTP client such as [Microsoft PowerShell](/powershell/scripting/overview) or [Postman](https://www.postman.com/):
108108

109109
```http
110110
POST http://localhost/validate-accesscode HTTP/1.1
@@ -150,7 +150,7 @@ Follow the steps in [Deploy your app to Azure](../app-service/quickstart-nodejs.
150150
151151
- Service endpoint looks similar to `https://custompolicyapi.azurewebsites.net/validate-accesscode`.
152152
153-
You can test the app you've deployed by using an HTTP client such as [Microsoft PowerShell](https://learn.microsoft.com/powershell/scripting/overview) or [Postman](https://www.postman.com/). This time, use `https://custompolicyapi.azurewebsites.net/validate-accesscode` URL as the endpoint.
153+
You can test the app you've deployed by using an HTTP client such as [Microsoft PowerShell](/powershell/scripting/overview) or [Postman](https://www.postman.com/). This time, use `https://custompolicyapi.azurewebsites.net/validate-accesscode` URL as the endpoint.
154154

155155
## Step 2 - Call the REST API
156156

articles/active-directory-b2c/custom-policies-series-overview.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ In Azure Active Directory B2C (Azure AD B2C), you can create user experiences by
2222

2323
User flows are already customizable such as [changing UI](customize-ui.md), [customizing language](language-customization.md) and using [custom attributes](user-flow-custom-attributes.md). However, these customizations might not cover all your business specific needs, which is the reason why you need custom policies.
2424

25-
While you can use pre-made [custom policy starter pack](/azure/active-directory-b2c/tutorial-create-user-flows?pivots=b2c-custom-policy#custom-policy-starter-pack), it's important for you understand how custom policy is built from scratch. In this how-to guide series, you'll learn what you need to understand for you to customize the behavior of your user experience by using custom policies. At the end of this how-to guide series, you should be able to read and understand existing custom policies or write your own from scratch.
25+
While you can use pre-made [custom policy starter pack](./tutorial-create-user-flows.md?pivots=b2c-custom-policy#custom-policy-starter-pack), it's important for you understand how custom policy is built from scratch. In this how-to guide series, you'll learn what you need to understand for you to customize the behavior of your user experience by using custom policies. At the end of this how-to guide series, you should be able to read and understand existing custom policies or write your own from scratch.
2626

2727
## Prerequisites
2828

@@ -48,4 +48,4 @@ This how-to guide series consists of multiple articles. We recommend that you st
4848

4949
- Learn about [Azure AD B2C TrustFrameworkPolicy BuildingBlocks](buildingblocks.md)
5050

51-
- [Write your first Azure Active Directory B2C custom policy - Hello World!](custom-policies-series-hello-world.md)
51+
- [Write your first Azure Active Directory B2C custom policy - Hello World!](custom-policies-series-hello-world.md)

articles/active-directory-b2c/data-residency.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ The following locations are in the process of being added to the list. For now,
5959
## EU Data Boundary
6060

6161
> [!IMPORTANT]
62-
> For comprehensive details about Microsoft's EU Data Boundary commitment, see [Microsoft's EU Data Boundary documentation](https://learn.microsoft.com/privacy/eudb/eu-data-boundary-learn).
62+
> For comprehensive details about Microsoft's EU Data Boundary commitment, see [Microsoft's EU Data Boundary documentation](/privacy/eudb/eu-data-boundary-learn).
6363
6464
## Remote profile solution
6565

articles/active-directory-b2c/faq.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,4 +259,4 @@ sections:
259259
- question: |
260260
How do I report issues with Azure AD B2C?
261261
answer: |
262-
See [File support requests for Azure Active Directory B2C](support-options.md).
262+
See [File support requests for Azure Active Directory B2C](find-help-open-support-ticket.md).

articles/active-directory-b2c/find-help-open-support-ticket.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: troubleshooting
12-
ms.date: 03/30/2022
12+
ms.date: 03/13/2023
1313
ms.author: kengaderdus
1414
ms.subservice: B2C
1515
---

articles/active-directory-b2c/idp-pass-through-user-flow.md

Lines changed: 72 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: how-to
12-
ms.date: 03/10/2022
12+
ms.date: 03/16/2023
1313
ms.custom: project-no-code
1414
ms.author: kengaderdus
1515
ms.subservice: B2C
@@ -150,6 +150,77 @@ When testing your applications in Azure AD B2C, it can be useful to have the Azu
150150

151151
![Decoded token in jwt.ms with idp_access_token block highlighted](./media/idp-pass-through-user-flow/identity-provider-pass-through-token-custom.png)
152152

153+
## Pass the IDP refresh token (optional)
154+
155+
The access token the identity provider returns is valid for a short period of time. Some identity providers also issue a refresh token along with the access token. Your client application can then exchange the identity provider's refresh token for a new access token when needed.
156+
157+
Azure AD B2C custom policy supports passing the refresh token of OAuth 2.0 identity providers, which includes [Facebook](https://github.com/azure-ad-b2c/unit-tests/tree/main/Identity-providers#facebook-with-access-token), [Google](https://github.com/azure-ad-b2c/unit-tests/tree/main/Identity-providers#facebook-with-access-token) and [GitHub](https://github.com/azure-ad-b2c/unit-tests/tree/main/Identity-providers#github-with-access-token).
158+
159+
To pass the identity provider's refresh token, follow these steps:
160+
161+
1. Open your *TrustframeworkExtensions.xml* file and add the following **ClaimType** element with an identifier of `identityProviderRefreshToken` to the **ClaimsSchema** element.
162+
163+
```xml
164+
<ClaimType Id="identityProviderRefreshToken">
165+
<DisplayName>Identity provider refresh token</DisplayName>
166+
<DataType>string</DataType>
167+
</ClaimType>
168+
```
169+
170+
1. Add the **OutputClaim** element to the **TechnicalProfile** element for each OAuth 2.0 identity provider that you would like the refresh token for. The following example shows the element added to the Facebook technical profile:
171+
172+
```xml
173+
<ClaimsProvider>
174+
<DisplayName>Facebook</DisplayName>
175+
<TechnicalProfiles>
176+
<TechnicalProfile Id="Facebook-OAUTH">
177+
<OutputClaims>
178+
<OutputClaim ClaimTypeReferenceId="identityProviderRefreshToken" PartnerClaimType="{oauth2:refresh_token}" />
179+
</OutputClaims>
180+
...
181+
</TechnicalProfile>
182+
</TechnicalProfiles>
183+
</ClaimsProvider>
184+
```
185+
186+
1. Some identity providers require you to include metadata or scopes to the identity provider's technical profile.
187+
188+
- For Google identity provider, add two claim types `access_type` and `prompt`. Then add the following input claims to the identity provider's technical profile:
189+
190+
```xml
191+
<InputClaims>
192+
<InputClaim ClaimTypeReferenceId="access_type" PartnerClaimType="access_type" DefaultValue="offline" AlwaysUseDefaultValue="true" />
193+
194+
<!-- The refresh_token is return only on the first authorization for a given user. Subsequent authorization request doesn't return the refresh_token.
195+
To fix this issue we add the prompt=consent query string parameter to the authorization request-->
196+
<InputClaim ClaimTypeReferenceId="prompt" PartnerClaimType="prompt" DefaultValue="consent" AlwaysUseDefaultValue="true" />
197+
</InputClaims>
198+
```
199+
200+
- Other identity providers may have different methods to issue a refresh token. Follow the identity provider's audience and add the necessary elements to your identity provider's technical profile.
201+
202+
1. Save the changes you made in your *TrustframeworkExtensions.xml* file.
203+
1. Open your relying party policy file, such as *SignUpOrSignIn.xml*, and add the **OutputClaim** element to the **TechnicalProfile**:
204+
205+
```xml
206+
<RelyingParty>
207+
<DefaultUserJourney ReferenceId="SignUpOrSignIn" />
208+
<TechnicalProfile Id="PolicyProfile">
209+
<OutputClaims>
210+
<OutputClaim ClaimTypeReferenceId="identityProviderRefreshToken" PartnerClaimType="idp_refresh_token"/>
211+
</OutputClaims>
212+
...
213+
</TechnicalProfile>
214+
</RelyingParty>
215+
```
216+
217+
1. Save the changes you made in your policy's relying party policy file.
218+
1. Upload the *TrustframeworkExtensions.xml* file, and then the relying party policy file.
219+
1. [Test your policy](#test-your-policy)
220+
221+
222+
223+
153224
::: zone-end
154225

155226
## Next steps

0 commit comments

Comments
 (0)