Skip to content

Commit 14de8a5

Browse files
committed
Merge branch 'main' into eur/display-text-format
2 parents 8a18c5a + 0e635ce commit 14de8a5

File tree

1,693 files changed

+17220
-13961
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,693 files changed

+17220
-13961
lines changed

.acrolinx-config.edn

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,2 @@
11
{:allowed-branchname-matches ["main" "release-.*"]
2-
:allowed-filename-matches ["(?i)articles/(?:(?!active-directory/saas-apps/toc.yml|role-based-access-control/resource-provider-operations.md))" "includes/"]}
2+
:allowed-filename-matches ["(?i)articles/(?:(?!active-directory/saas-apps/toc.yml|role-based-access-control/resource-provider-operations.md|.*policy/samples/|.*resource-graph/samples/))" "(?i)includes/(?:(?!policy/reference/|policy/standards/))"]}

.openpublishing.redirection.defender-for-iot.json

Lines changed: 86 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,98 @@
11
{
22
"redirections": [
3+
{
4+
"source_path_from_root": "/articles/defender-for-iot/organizations/resources-manage-proprietary-protocols.md",
5+
"redirect_url": "/azure/defender-for-iot/organizations/how-to-manage-individual-sensors#manage-custom-plugins-legacy",
6+
"redirect_document_id": false
7+
},
8+
{
9+
"source_path_from_root": "/articles/defender-for-iot/organizations/how-to-set-up-high-availability.md",
10+
"redirect_url": "/azure/defender-for-iot/organizations/legacy-central-management/how-to-set-up-high-availability",
11+
"redirect_document_id": false
12+
},
13+
{
14+
"source_path_from_root": "/articles/defender-for-iot/organizations/ot-deploy/sites-and-zones-on-premises.md",
15+
"redirect_url": "/azure/defender-for-iot/organizations/legacy-central-management/sites-and-zones-on-premises",
16+
"redirect_document_id": false
17+
},
18+
{
19+
"source_path_from_root": "/articles/defender-for-iot/organizations/ot-deploy/activate-deploy-management.md",
20+
"redirect_url": "/azure/defender-for-iot/organizations/legacy-central-management/activate-deploy-management",
21+
"redirect_document_id": false
22+
},
23+
{
24+
"source_path_from_root": "/articles/defender-for-iot/organizations/back-up-restore-management.md",
25+
"redirect_url": "/azure/defender-for-iot/organizations/legacy-central-management/back-up-restore-management",
26+
"redirect_document_id": false
27+
},
28+
{
29+
"source_path_from_root": "/articles/defender-for-iot/organizations/back-up-sensors-from-management.md",
30+
"redirect_url": "/azure/defender-for-iot/organizations/legacy-central-management/back-up-sensors-from-management",
31+
"redirect_document_id": false
32+
},
33+
{
34+
"source_path_from_root": "/articles/defender-for-iot/organizations/ot-deploy/connect-sensors-to-management.md",
35+
"redirect_url": "/azure/defender-for-iot/organizations/legacy-central-management/connect-sensors-to-management",
36+
"redirect_document_id": false
37+
},
38+
{
39+
"source_path_from_root": "/articles/defender-for-iot/organizations/how-to-investigate-all-enterprise-sensor-detections-in-a-device-inventory.md",
40+
"redirect_url": "/azure/defender-for-iot/organizations/legacy-central-management/how-to-investigate-all-enterprise-sensor-detections-in-a-device-inventory",
41+
"redirect_document_id": false
42+
},
43+
{
44+
"source_path_from_root": "/articles/defender-for-iot/organizations/how-to-manage-sensors-from-the-on-premises-management-console.md",
45+
"redirect_url": "/azure/defender-for-iot/organizations/legacy-central-management/how-to-manage-sensors-from-the-on-premises-management-console",
46+
"redirect_document_id": false
47+
},
48+
{
49+
"source_path_from_root": "/articles/defender-for-iot/organizations/how-to-manage-the-on-premises-management-console.md",
50+
"redirect_url": "/azure/defender-for-iot/organizations/legacy-central-management/how-to-manage-the-on-premises-management-console",
51+
"redirect_document_id": false
52+
},
53+
{
54+
"source_path_from_root": "/articles/defender-for-iot/organizations/how-to-troubleshoot-on-premises-management-console.md",
55+
"redirect_url": "/azure/defender-for-iot/organizations/legacy-central-management/how-to-troubleshoot-on-premises-management-console",
56+
"redirect_document_id": false
57+
},
58+
{
59+
"source_path_from_root": "/articles/defender-for-iot/organizations/how-to-work-with-alerts-on-premises-management-console.md",
60+
"redirect_url": "/azure/defender-for-iot/organizations/legacy-central-management/how-to-work-with-alerts-on-premises-management-console",
61+
"redirect_document_id": false
62+
},
63+
{
64+
"source_path_from_root": "/articles/defender-for-iot/organizations/ot-deploy/install-software-on-premises-management-console.md",
65+
"redirect_url": "/azure/defender-for-iot/organizations/legacy-central-management/install-software-on-premises-management-console",
66+
"redirect_document_id": false
67+
},
68+
{
69+
"source_path_from_root": "/articles/defender-for-iot/organizations/ot-deploy/legacy-air-gapped-deploy.md",
70+
"redirect_url": "/azure/defender-for-iot/organizations/legacy-central-management/legacy-air-gapped-deploy",
71+
"redirect_document_id": false
72+
},
73+
{
74+
"source_path_from_root": "/articles/defender-for-iot/organizations/manage-users-on-premises-management-console.md",
75+
"redirect_url": "/azure/defender-for-iot/organizations/legacy-central-management/manage-users-on-premises-management-console",
76+
"redirect_document_id": false
77+
},
78+
{
79+
"source_path_from_root": "/articles/defender-for-iot/organizations/ot-deploy/prepare-management-appliance.md",
80+
"redirect_url": "/azure/defender-for-iot/organizations/legacy-central-management/prepare-management-appliance",
81+
"redirect_document_id": false
82+
},
383
{
484
"source_path_from_root": "/articles/defender-for-iot/organizations/faqs-eiot.md",
585
"redirect_url": "/azure/defender-for-iot/organizations/concept-enterprise#frequently-asked-questions",
686
"redirect_document_id": false
787
},
8-
988
{
1089
"source_path_from_root": "/articles/defender-for-iot/organizations/best-practices/plan-network-monitoring.md",
1190
"redirect_url": "/azure/defender-for-iot/organizations/best-practices/plan-prepare-deploy",
1291
"redirect_document_id": false
1392
},
1493
{
1594
"source_path_from_root": "/articles/defender-for-iot/organizations/how-to-activate-and-set-up-your-on-premises-management-console.md",
16-
"redirect_url": "/azure/defender-for-iot/organizations/ot-deploy/activate-deploy-management",
95+
"redirect_url": "/azure/defender-for-iot/organizations/legacy-central-management/activate-deploy-management",
1796
"redirect_document_id": false
1897
},
1998
{
@@ -92,7 +171,7 @@
92171
},
93172
{
94173
"source_path_from_root": "/articles/defender-for-iot/organizations/how-to-define-global-user-access-control.md",
95-
"redirect_url": "/azure/defender-for-iot/organizations/manage-users-on-premises-management-console#define-global-access-permission-for-on-premises-users",
174+
"redirect_url": "/azure/defender-for-iot/organizations/legacy-central-management/manage-users-on-premises-management-console#define-global-access-permission-for-on-premises-users",
96175
"redirect_document_id": false
97176
},
98177
{
@@ -237,7 +316,7 @@
237316
},
238317
{
239318
"source_path_from_root": "/articles/defender-for-iot/how-to-manage-sensors-from-the-on-premises-management-console.md",
240-
"redirect_url": "/azure/defender-for-iot/organizations/how-to-manage-sensors-from-the-on-premises-management-console",
319+
"redirect_url": "/azure/defender-for-iot/organizations/legacy-central-management/how-to-manage-sensors-from-the-on-premises-management-console",
241320
"redirect_document_id": false
242321
},
243322
{
@@ -252,7 +331,7 @@
252331
},
253332
{
254333
"source_path_from_root": "/articles/defender-for-iot/how-to-manage-the-on-premises-management-console.md",
255-
"redirect_url": "/azure/defender-for-iot/organizations/how-to-manage-the-on-premises-management-console",
334+
"redirect_url": "/azure/defender-for-iot/organizations/legacy-central-management/how-to-manage-the-on-premises-management-console",
256335
"redirect_document_id": false
257336
},
258337
{
@@ -262,7 +341,7 @@
262341
},
263342
{
264343
"source_path_from_root": "/articles/defender-for-iot/how-to-investigate-all-enterprise-sensor-detections-in-a-device-inventory.md",
265-
"redirect_url": "/azure/defender-for-iot/organizations/how-to-investigate-all-enterprise-sensor-detections-in-a-device-inventory",
344+
"redirect_url": "/azure/defender-for-iot/organizations/legacy-central-management/how-to-investigate-all-enterprise-sensor-detections-in-a-device-inventory",
266345
"redirect_document_id": false
267346
},
268347
{
@@ -322,7 +401,7 @@
322401
},
323402
{
324403
"source_path_from_root": "/articles/defender-for-iot/how-to-work-with-alerts-on-premises-management-console.md",
325-
"redirect_url": "/azure/defender-for-iot/organizations/how-to-work-with-alerts-on-premises-management-console",
404+
"redirect_url": "/azure/defender-for-iot/organizations/legacy-central-management/how-to-work-with-alerts-on-premises-management-console",
326405
"redirect_document_id": false
327406
},
328407
{

.openpublishing.redirection.json

Lines changed: 46 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1060,6 +1060,26 @@
10601060
"redirect_url": "/azure/site-recovery/deploy-vmware-azure-replication-appliance-modernized",
10611061
"redirect_document_id": false
10621062
},
1063+
{
1064+
"source_path": "articles/site-recovery/hyper-v-vmm-powershell-resource-manager.md",
1065+
"redirect_url": "/azure/site-recovery/site-recovery-runbook-automation",
1066+
"redirect_document_id": false
1067+
},
1068+
{
1069+
"source_path": "articles/site-recovery/hyper-v-vmm-secondary-support-matrix.",
1070+
"redirect_url": "/azure/site-recovery/hyper-v-azure-support-matrix",
1071+
"redirect_document_id": false
1072+
},
1073+
{
1074+
"source_path": "articles/site-recovery/unregister-vmm-server-script.md",
1075+
"redirect_url": "/azure/site-recovery/azure-to-azure-autoupdate",
1076+
"redirect_document_id": false
1077+
},
1078+
{
1079+
"source_path": "articles/site-recovery/hyper-v-vmm-secondary-support-matrix.md",
1080+
"redirect_url": "/azure/site-recovery/azure-to-azure-autoupdate",
1081+
"redirect_document_id": false
1082+
},
10631083
{
10641084
"source_path": "articles/container-registry/container-registry-customer-managed-keys.md",
10651085
"redirect_url": "/azure/container-registry/tutorial-customer-managed-keys",
@@ -4550,7 +4570,12 @@
45504570
},
45514571
{
45524572
"source_path_from_root": "/articles/app-service/containers/configure-language-ruby.md",
4553-
"redirect_url": "/azure/app-service/configure-language-ruby",
4573+
"redirect_url": "https://github.com/Azure/app-service-linux-docs/blob/master/HowTo/use_ruby_with_container.md",
4574+
"redirect_document_id": false
4575+
},
4576+
{
4577+
"source_path_from_root": "/articles/app-service/configure-language-ruby.md",
4578+
"redirect_url": "https://github.com/Azure/app-service-linux-docs/blob/master/HowTo/use_ruby_with_container.md",
45544579
"redirect_document_id": false
45554580
},
45564581
{
@@ -5340,17 +5365,22 @@
53405365
},
53415366
{
53425367
"source_path_from_root": "/articles/app-service/containers/quickstart-ruby.md",
5343-
"redirect_url": "/azure/app-service/quickstart-ruby",
5368+
"redirect_url": "https://github.com/Azure/app-service-linux-docs/blob/master/HowTo/use_ruby_with_container.md",
5369+
"redirect_document_id": false
5370+
},
5371+
{
5372+
"source_path_from_root": "/articles/app-service/quickstart-ruby.md",
5373+
"redirect_url": "https://github.com/Azure/app-service-linux-docs/blob/master/HowTo/use_ruby_with_container.md",
53445374
"redirect_document_id": false
53455375
},
53465376
{
53475377
"source_path_from_root": "/articles/app-service-web/app-service-linux-ruby-get-started.md",
5348-
"redirect_url": "/azure/app-service/quickstart-ruby",
5378+
"redirect_url": "https://github.com/Azure/app-service-linux-docs/blob/master/HowTo/use_ruby_with_container.md",
53495379
"redirect_document_id": false
53505380
},
53515381
{
53525382
"source_path_from_root": "/articles/app-service-web/app-service-linux-using-ruby.md",
5353-
"redirect_url": "/azure/app-service/quickstart-ruby",
5383+
"redirect_url": "https://github.com/Azure/app-service-linux-docs/blob/master/HowTo/use_ruby_with_container.md",
53545384
"redirect_document_id": false
53555385
},
53565386
{
@@ -5975,12 +6005,17 @@
59756005
},
59766006
{
59776007
"source_path_from_root": "/articles/app-service/containers/tutorial-ruby-mysql-app.md",
5978-
"redirect_url": "/azure/app-service/tutorial-ruby-postgres-app",
6008+
"redirect_url": "https://github.com/Azure/app-service-linux-docs/blob/master/HowTo/use_ruby_with_container.md",
59796009
"redirect_document_id": false
59806010
},
59816011
{
59826012
"source_path_from_root": "/articles/app-service/containers/tutorial-ruby-postgres-app.md",
5983-
"redirect_url": "/azure/app-service/tutorial-ruby-postgres-app",
6013+
"redirect_url": "https://github.com/Azure/app-service-linux-docs/blob/master/HowTo/use_ruby_with_container.md",
6014+
"redirect_document_id": false
6015+
},
6016+
{
6017+
"source_path_from_root": "/articles/app-service/tutorial-ruby-postgres-app.md",
6018+
"redirect_url": "https://github.com/Azure/app-service-linux-docs/blob/master/HowTo/use_ruby_with_container.md",
59846019
"redirect_document_id": false
59856020
},
59866021
{
@@ -23678,6 +23713,11 @@
2367823713
"source_path_from_root": "/articles/aks/ai-toolchain-operator.md",
2367923714
"redirect_url": "https://azure.microsoft.com/updates/preview-ai-toolchain-operator-addon-for-aks/",
2368023715
"redirect_document_id": false
23716+
},
23717+
{
23718+
"source_path_from_root": "/articles/reliability/disaster-recovery-guidance-overview.md",
23719+
"redirect_url": "/azure/reliability/reliability-guidance-overview",
23720+
"redirect_document_id": false
2368123721
}
2368223722

2368323723
]

.openpublishing.redirection.virtual-desktop.json

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -299,6 +299,11 @@
299299
"source_path_from_root": "/articles/virtual-desktop/sandbox.md",
300300
"redirect_url": "/azure/virtual-desktop/publish-applications",
301301
"redirect_document_id": false
302+
},
303+
{
304+
"source_path_from_root": "/articles/virtual-desktop/whats-new-client-web.md",
305+
"redirect_url": "/azure/virtual-desktop/users/remote-desktop-clients-overview",
306+
"redirect_document_id": false
302307
}
303308
]
304309
}

articles/active-directory-b2c/add-ropc-policy.md

Lines changed: 11 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,13 @@ manager: CelesteDG
99
ms.service: active-directory
1010

1111
ms.topic: how-to
12-
ms.date: 12/16/2022
12+
ms.date: 12/16/2023
1313
ms.custom:
1414
ms.author: kengaderdus
1515
ms.subservice: B2C
1616
zone_pivot_groups: b2c-policy-type
17+
18+
#Customer intent: As a developer integrating Azure AD B2C into my application, I want to set up the resource owner password credentials flow, so that my application can exchange valid credentials for tokens and authenticate users.
1719
---
1820

1921
# Set up a resource owner password credentials flow in Azure Active Directory B2C
@@ -38,9 +40,9 @@ The following flows aren't supported:
3840
- **Server-to-server**: The identity protection system needs a reliable IP address gathered from the caller (the native client) as part of the interaction. In a server-side API call, only the server’s IP address is used. If a dynamic threshold of failed authentications is exceeded, the identity protection system may identify a repeated IP address as an attacker.
3941
- **Confidential client flow**: The application client ID is validated, but the application secret isn't validated.
4042

41-
When using the ROPC flow, consider the following:
43+
When using the ROPC flow, consider the following limitations:
4244

43-
- ROPC doesn’t work when there's any interruption to the authentication flow that needs user interaction. For example, when a password has expired or needs to be changed, [multifactor authentication](multi-factor-authentication.md) is required, or when more information needs to be collected during sign-in (for example, user consent).
45+
- ROPC doesn’t work when there's any interruption to the authentication flow that needs user interaction. For example, when a password expires or needs to be changed, [multifactor authentication](multi-factor-authentication.md) is required, or when more information needs to be collected during sign-in (for example, user consent).
4446
- ROPC supports local accounts only. Users can’t sign in with [federated identity providers](add-identity-provider.md) like Microsoft, Google+, Twitter, AD-FS, or Facebook.
4547
- [Session Management](session-behavior.md), including [keep me signed-in (KMSI)](session-behavior.md#enable-keep-me-signed-in-kmsi), isn't applicable.
4648

@@ -68,13 +70,14 @@ When using the ROPC flow, consider the following:
6870

6971
::: zone pivot="b2c-custom-policy"
7072

71-
## Pre-requisite
72-
If you've not done so, learn about custom policy starter pack in [Get started with custom policies in Active Directory B2C](tutorial-create-user-flows.md).
73+
## Prerequisite
74+
If you've not done so, learn how to use the custom policy starter pack in [Get started with custom policies in Active Directory B2C](tutorial-create-user-flows.md).
7375

7476
## Create a resource owner policy
7577

7678
1. Open the *TrustFrameworkExtensions.xml* file.
77-
2. If it doesn't exist already, add a **ClaimsSchema** element and its child elements as the first element under the **BuildingBlocks** element:
79+
80+
1. Under the **BuildingBlocks** element, locate the **ClaimsSchema** element, then add the following claims types:
7881

7982
```xml
8083
<ClaimsSchema>
@@ -372,12 +375,8 @@ A successful response looks like the following example:
372375

373376
* **Symptom** - You run the ROPC flow, and get the following message: *AADB2C90057: The provided application isn't configured to allow the 'OAuth' Implicit flow*.
374377
* **Possible causes** - The implicit flow isn't allowed for your application.
375-
* **Resolution**: When creating your [app registration](#register-an-application) in Azure AD B2C, you need to manually edit the application manifest and set the value of the `oauth2AllowImplicitFlow` property to `true`. After you configure the `oauth2AllowImplicitFlow` property, it can take a few minutes (typically no more than five) for the change to take affect.
378+
* **Resolution**: When creating your [app registration](#register-an-application) in Azure AD B2C, you need to manually edit the application manifest and set the value of the `oauth2AllowImplicitFlow` property to `true`. After you configure the `oauth2AllowImplicitFlow` property, it can take a few minutes (typically no more than five) for the change to take effect.
376379

377380
## Use a native SDK or App-Auth
378381

379-
Azure AD B2C meets OAuth 2.0 standards for public client resource owner password credentials and should be compatible with most client SDKs. For the latest information, see [Native App SDK for OAuth 2.0 and OpenID Connect implementing modern best practices](https://appauth.io/).
380-
381-
## Next steps
382-
383-
Download working samples that have been configured for use with Azure AD B2C from GitHub, [for Android](https://aka.ms/aadb2cappauthropc) and [for iOS](https://aka.ms/aadb2ciosappauthropc).
382+
Azure AD B2C meets OAuth 2.0 standards for public client resource owner password credentials and should be compatible with most client SDKs. For the latest information, see [Native App SDK for OAuth 2.0 and OpenID Connect implementing modern best practices](https://appauth.io/).

0 commit comments

Comments
 (0)