Skip to content

Commit d684b74

Browse files
committed
Merge branch 'main' of https://github.com/MicrosoftDocs/azure-docs-pr into yelevin/unified-IIT-take-two
2 parents 70f4b9a + a419f3c commit d684b74

File tree

2,364 files changed

+20374
-14980
lines changed

Some content is hidden

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

2,364 files changed

+20374
-14980
lines changed

.openpublishing.publish.config.json

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -590,6 +590,12 @@
590590
"branch": "main",
591591
"branch_mapping": {}
592592
},
593+
{
594+
"path_to_root": "laravel-tasks",
595+
"url": "https://github.com/Azure-Samples/laravel-tasks",
596+
"branch": "main",
597+
"branch_mapping": {}
598+
},
593599
{
594600
"path_to_root": "playwright-testing-service",
595601
"url": "https://github.com/microsoft/playwright-testing-service",

.openpublishing.redirection.json

Lines changed: 26 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
{
22
"redirections": [
3+
{
4+
"source_path": "articles/migrate/tutorial-modernize-asp-net-aks.md",
5+
"redirect_url": "/azure/migrate/migrate-services-overview",
6+
"redirect_document_id": false
7+
},
38
{
49
"source_path": "articles/databox-online/azure-stack-edge-gpu-deploy-sample-module-marketplace.md",
510
"redirect_url": "https://azuremarketplace.microsoft.com/marketplace/apps?page=1",
@@ -30,6 +35,11 @@
3035
"redirect_url": "/previous-versions/azure/partner-solutions/logzio/troubleshoot",
3136
"redirect_document_id": false
3237
},
38+
{
39+
"source_path": "articles/event-grid/event-schema-storage-actions.md",
40+
"redirect_url": "/azure/storage-actions/overview",
41+
"redirect_document_id": false
42+
},
3343
{
3444
"source_path_from_root": "/articles/hdinsight-aks/index.yml",
3545
"redirect_url": "/previous-versions/azure/hdinsight-aks",
@@ -5935,6 +5945,11 @@
59355945
"redirect_url": "/azure/reliability/overview-reliability-guidance",
59365946
"redirect_document_id": false
59375947
},
5948+
{
5949+
"source_path_from_root": "/articles/reliability/sovereign-cloud-china.md",
5950+
"redirect_url": "/azure/china/concepts-service-availability",
5951+
"redirect_document_id": false
5952+
},
59385953
{
59395954
"source_path_from_root": "/articles/managed-grafana/concept-role-based-access-control.md",
59405955
"redirect_url": "/azure/managed-grafana/how-to-manage-access-permissions-users-identities",
@@ -5949,6 +5964,16 @@
59495964
"source_path": "articles/sentinel/resources.md",
59505965
"redirect_url": "/azure/sentinel/overview",
59515966
"redirect_document_id": false
5967+
},
5968+
{
5969+
"source_path_from_root": "/articles/nat-gateway/tutorial-dual-stack-outbound-nat-load-balancer.md",
5970+
"redirect_url": "/azure/nat-gateway/nat-overview",
5971+
"redirect_document_id": false
5972+
},
5973+
{
5974+
"source_path": "articles/sentinel/kusto-resources.md",
5975+
"redirect_url": "/kusto/query/kql-learning-resources?view=microsoft-sentinel?view=microsoft-sentinel&preserve-view=true&toc=/azure/sentinel/TOC.json&bc=/azure/sentinel/breadcrumb/toc.json",
5976+
"redirect_document_id": false
59525977
}
59535978
]
5954-
}
5979+
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ manager: CelesteDG
99
ms.service: azure-active-directory
1010

1111
ms.topic: how-to
12-
ms.date: 09/11/2024
12+
ms.date: 02/24/2025
1313
ms.author: kengaderdus
1414
ms.subservice: b2c
1515
zone_pivot_groups: b2c-policy-type

articles/active-directory-b2c/b2clogin.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,15 @@
11
---
22
title: Migrate applications and APIs to b2clogin.com
33
titleSuffix: Azure AD B2C
4-
description: Learn about using b2clogin.com in your redirect URLs for Azure Active Directory B2C.
4+
description: Learn how to update redirect URLs in Azure AD B2C applications to use b2clogin.com or a custom domain for authentication endpoints.
55

66
author: kengaderdus
77
manager: CelesteDG
88

99
ms.service: azure-active-directory
1010

1111
ms.topic: how-to
12-
ms.date: 01/26/2024
12+
ms.date: 02/26/2025
1313
ms.author: kengaderdus
1414
ms.subservice: b2c
1515

@@ -40,9 +40,9 @@ With Azure AD B2C [custom domain](./custom-domain.md) the corresponding updated
4040
- <code>https://<b>login.contoso.com</b>/\<tenant-name\>.onmicrosoft.com/<b>\<policy-name\></b>/oauth2/v2.0/authorize</code> or <code>https://<b>login.contoso.com</b>/\<tenant-name\>.onmicrosoft.com/oauth2/v2.0/authorize?<b>p=\<policy-name\></b></code> for the `/authorize` endpoint.
4141
- <code>https://<b>login.contoso.com</b>/\<tenant-name\>.onmicrosoft.com/<b>\<policy-name\></b>/oauth2/v2.0/logout</code> or <code>https://<b>login.contoso.com</b>/\<tenant-name\>.onmicrosoft.com/oauth2/v2.0/logout?<b>p=\<policy-name\></b></code> for the `/logout` endpoint.
4242

43-
## Endpoints that are not affected
43+
## Endpoints that aren't affected
4444

45-
Some customers use the shared capabilities of Microsoft Entra enterprise tenants. For example, acquiring an access token to call the [MS Graph API](microsoft-graph-operations.md#code-discussion) of the Azure AD B2C tenant.
45+
Some customers use the shared capabilities of Microsoft Entra enterprise tenants. For example, acquiring an access token to call the [MS Graph API](microsoft-graph-operations.md) of the Azure AD B2C tenant.
4646

4747
This change doesn't affect all endpoints, which don't contain a policy parameter in the URL. They're accessed only with the Microsoft Entra ID's login.microsoftonline.com endpoints, and can't be used with the *b2clogin.com*, or custom domains. The following example shows a valid token endpoint of the Microsoft identity platform:
4848

@@ -64,7 +64,6 @@ There are several modifications you might need to make to migrate your applicati
6464
* Update your Azure AD B2C applications to use *b2clogin.com*, or custom domain in their user flow and token endpoint references. The change may include updating your use of an authentication library like Microsoft Authentication Library (MSAL).
6565
* Update any **Allowed Origins** that you define in the CORS settings for [user interface customization](customize-ui-with-html.md).
6666

67-
6867
## Change identity provider redirect URLs
6968

7069
On each identity provider's website in which you've created an application, change all trusted URLs to redirect to `your-tenant-name.b2clogin.com`, or a custom domain instead of *login.microsoftonline.com*.
@@ -146,7 +145,7 @@ this.clientApplication = new UserAgentApplication(
146145
);
147146
```
148147

149-
## Next steps
148+
## Related content
150149

151150
For information about migrating OWIN-based web applications to b2clogin.com, see [Migrate an OWIN-based web API to b2clogin.com](multiple-token-endpoints.md).
152151

articles/active-directory-b2c/custom-email-mailjet.md

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

1111
ms.topic: how-to
12-
ms.date: 01/11/2024
12+
ms.date: 02/21/2025
1313
ms.author: kengaderdus
1414
ms.subservice: b2c
1515
zone_pivot_groups: b2c-policy-type
@@ -33,7 +33,7 @@ Use custom email in Azure Active Directory B2C (Azure AD B2C) to send customized
3333

3434
::: zone pivot="b2c-custom-policy"
3535

36-
Custom email verification requires the use of a third-party email provider like [Mailjet](https://www.mailjet.com/), [SendGrid](./custom-email-sendgrid.md), or [SparkPost](https://messagebird.com/email/cloud-sending?sp=true), a custom REST API, or any HTTP-based email provider (including your own). This article describes setting up a solution that uses Mailjet.
36+
Custom email verification requires the use of a third-party email provider like [Mailjet](https://www.mailjet.com/), [SendGrid](./custom-email-sendgrid.md), or [SparkPost](https://messagebird.com/support-center/omnichannel-and-connectivity/sms/sending-email-to-sms?sp=true), a custom REST API, or any HTTP-based email provider (including your own). This article describes setting up a solution that uses Mailjet.
3737

3838
## Create a Mailjet account
3939

@@ -74,7 +74,7 @@ With a Mailjet account created and the Mailjet API key stored in an Azure AD B2C
7474
1. On the Mailjet site, open the [transactional templates](https://app.mailjet.com/templates/transactional) page and select **Create a new template**.
7575
1. Select **By coding it in HTML**, and then select **Code from scratch**.
7676
1. Enter a unique template name like `Verification email`, and then select **Create**.
77-
1. In the HTML editor, paste following HTML template or use your own. The `{{var:otp:""}}` and `{{var:email:""}}` parameters will be replaced dynamically with the one-time password value and the user email address.
77+
1. In the HTML editor, paste following HTML template or use your own. The `{{var:otp:""}}` and `{{var:email:""}}` parameters are replaced dynamically with the one-time password value and the user email address.
7878

7979
```HTML
8080
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
@@ -210,7 +210,7 @@ These claims types are necessary to generate and verify the email address using
210210

211211
## Add the claims transformation
212212

213-
Next, you need a claims transformation to output a JSON string claim that will be the body of the request sent to Mailjet.
213+
Next, you need a claims transformation to output a JSON string claim that's the body of the request sent to Mailjet.
214214

215215
The JSON object's structure is defined by the IDs in dot notation of the InputParameters and the TransformationClaimTypes of the InputClaims. Numbers in the dot notation imply arrays. The values come from the InputClaims' values and the InputParameters' "Value" properties. For more information about JSON claims transformations, see [JSON claims transformations](json-transformations.md).
216216

@@ -572,9 +572,9 @@ The Localization element allows you to support multiple locales or languages in
572572
```
573573

574574

575-
## Next steps
575+
## Related content
576576

577577
- You can find an example of a [Custom email verification - DisplayControls](https://github.com/azure-ad-b2c/samples/tree/master/policies/custom-email-verifcation-displaycontrol/policy/Mailjet) custom policy on GitHub.
578578
- 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).
579579

580-
::: zone-end
580+
::: zone-end

articles/active-directory-b2c/custom-email-sendgrid.md

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

1111
ms.topic: how-to
12-
ms.date: 01/11/2024
12+
ms.date: 02/21/2025
1313
ms.author: kengaderdus
1414
ms.subservice: b2c
1515
zone_pivot_groups: b2c-policy-type
@@ -33,7 +33,7 @@ Use custom email in Azure Active Directory B2C (Azure AD B2C) to send customized
3333

3434
::: zone pivot="b2c-custom-policy"
3535

36-
Custom email verification requires the use of a third-party email provider like [SendGrid](https://sendgrid.com), [Mailjet](https://www.mailjet.com/), or [SparkPost](https://messagebird.com/email/cloud-sending?sp=true), a custom REST API, or any HTTP-based email provider (including your own). This article describes setting up a solution that uses SendGrid.
36+
Custom email verification requires the use of a third-party email provider like [SendGrid](https://sendgrid.com), [Mailjet](https://www.mailjet.com/), or [SparkPost](https://messagebird.com/support-center/omnichannel-and-connectivity/sms/sending-email-to-sms?sp=true), a custom REST API, or any HTTP-based email provider (including your own). This article describes setting up a solution that uses SendGrid.
3737

3838
## Create a SendGrid account
3939

@@ -42,7 +42,7 @@ If you don't already have one, start by setting up a SendGrid account. For setup
4242
Make sure you complete the section in which you [create a SendGrid API key](https://docs.sendgrid.com/for-developers/partners/microsoft-azure-2021#to-find-your-sendgrid-api-key). Record the API key for use in a later step.
4343

4444
> [!IMPORTANT]
45-
> SendGrid offers customers the ability to send emails from shared IP and [dedicated IP addresses](https://docs.sendgrid.com/ui/account-and-settings/dedicated-ip-addresses). When using dedicated IP addresses, you need to build your own reputation properly with an IP address warm-up. For more information, see [Warming Up An Ip Address](https://docs.sendgrid.com/ui/sending-email/warming-up-an-ip-address).
45+
> SendGrid offers customers the ability to send emails from shared IP and [dedicated IP addresses](https://docs.sendgrid.com/ui/account-and-settings/dedicated-ip-addresses). When using dedicated IP addresses, you need to build your own reputation properly with an IP address warm-up. For more information, see [Warming Up An IP Address](https://www.twilio.com/docs/sendgrid/ui/sending-email/warming-up-an-ip-address).
4646
4747
## Create Azure AD B2C policy key
4848

@@ -558,9 +558,9 @@ The Localization element allows you to support multiple locales or languages in
558558
```
559559

560560

561-
## Next steps
561+
## Related content
562562

563563
- Find an example of [Custom email verification - DisplayControls custom policy](https://github.com/azure-ad-b2c/samples/tree/master/policies/custom-email-verifcation-displaycontrol/policy/SendGrid) on GitHub.
564564
- Learn how to use 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).
565565

566-
::: zone-end
566+
::: zone-end

articles/active-directory-b2c/enable-authentication-python-web-app.md

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
---
2-
title: Enable authentication in your own Python web application using Azure Active Directory B2C
2+
title: Enable authentication in your own Python web application using Azure AD B2C
33
description: This article explains how to enable authentication in your own Python web application using Azure AD B2C
44
titleSuffix: Azure AD B2C
55

@@ -8,23 +8,23 @@ manager: CelesteDG
88
ms.service: azure-active-directory
99
ms.custom: devx-track-python
1010
ms.topic: how-to
11-
ms.date: 01/11/2024
11+
ms.date: 02/21/2025
1212
ms.author: kengaderdus
1313
ms.subservice: b2c
1414
#Customer intent: As a Python web application developer, I want to enable Azure Active Directory B2C authentication in my application, so that users can sign in, sign out, update their profile, and reset their password using Azure AD B2C user flows.
1515
---
1616

1717
# Enable authentication in your own Python web application using Azure Active Directory B2C
1818

19-
In this article, you'll learn how to add Azure Active Directory B2C (Azure AD B2C) authentication in your own Python web application. You'll enable users to sign in, sign out, update profile and reset password using Azure AD B2C user flows. This article uses [Microsoft Authentication Library (MSAL) for Python](https://github.com/AzureAD/microsoft-authentication-library-for-python/tree/main) to simplify adding authentication to your Python web application.
19+
In this article, you learn how to add Azure Active Directory B2C (Azure AD B2C) authentication in your own Python web application. You enable users to sign in, sign out, update profile and reset password using Azure AD B2C user flows. This article uses [Microsoft Authentication Library (MSAL) for Python](https://github.com/AzureAD/microsoft-authentication-library-for-python/tree/main) to simplify adding authentication to your Python web application.
2020

2121
The aim of this article is to substitute the sample application you used in [Configure authentication in a sample Python web application by using Azure AD B2C](configure-authentication-sample-python-web-app.md) with your own Python application.
2222

23-
This article uses [Python 3.9+](https://www.python.org/) and [Flask 2.1](https://flask.palletsprojects.com/en/2.1.x/) to create a basic web app. The application's views uses [Jinja2 templates](https://flask.palletsprojects.com/en/2.1.x/templating/).
23+
This article uses [Python 3.9+](https://www.python.org/) and [Flask 2.1](https://flask.palletsprojects.com/en/stable/installation/) to create a basic web app. The application's views use [Jinja2 templates](https://flask.palletsprojects.com/en/2.1.x/templating/).
2424

2525
## Prerequisites
2626

27-
- Complete the steps in [Configure authentication in a sample Python web application by using Azure AD B2C](configure-authentication-sample-python-web-app.md). You'll create Azure AD B2C user flows and register a web application in Azure portal.
27+
- Complete the steps in [Configure authentication in a sample Python web application by using Azure AD B2C](configure-authentication-sample-python-web-app.md). You create Azure AD B2C user flows and register a web application in Azure portal.
2828
- Install [Python](https://www.python.org/downloads/) 3.9 or above
2929
- [Visual Studio Code](https://code.visualstudio.com/) or another code editor
3030
- Install the [Python extension](https://marketplace.visualstudio.com/items?itemName=ms-python.python) for Visual Studio Code
@@ -126,7 +126,7 @@ py -m pip install -r requirements.txt
126126

127127
## Step 3: Build app UI components
128128

129-
Flask is a lightweight Python framework for web applications that provides the basics for URL routing and page rendering. It leverages Jinja2 as its template engine to render the content of your app. For more information, check out the [template designer documentation](https://jinja.palletsprojects.com/en/3.1.x/templates/). In this section, you add the required templates that provide the basic functionality of your web app.
129+
Flask is a lightweight Python framework for web applications that provides the basics for URL routing and page rendering. It uses Jinja2 as its template engine to render the content of your app. For more information, check out the [template designer documentation](https://jinja.palletsprojects.com/en/3.1.x/templates/). In this section, you add the required templates that provide the basic functionality of your web app.
130130

131131
### Step 3.1 Create a base template
132132

@@ -475,6 +475,6 @@ To change the host name and/or port number, use the `args` array of the `launch.
475475
476476
477477
478-
## Next steps
478+
## Related content
479479
480-
- Learn how to [customize and enhance the Azure AD B2C authentication experience for your web app](enable-authentication-python-web-app-options.md)
480+
- Learn how to [customize and enhance the Azure AD B2C authentication experience for your web app](enable-authentication-python-web-app-options.md)

articles/active-directory-b2c/faq.yml

Lines changed: 13 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -163,6 +163,18 @@ sections:
163163
* **Audit reports** include both admin activity and application activity.
164164
* **Usage reports** include the number of users, number of logins, and volume of MFA.
165165
166+
- question: |
167+
Why does my Azure AD B2C bill show phone charges named "Microsoft Entra External ID?"
168+
answer: |
169+
Following the new [billing model](https://azure.microsoft.com/pricing/details/active-directory-b2c/) for Azure AD External Identities SMS Phone Authentication, you may notice a new name on your bill. Previously, Phone MFA was billed as "Azure Active Directory B2C - Basic 1 Multi-Factor Authentication." Now you’ll see the following names based on your [country or region pricing tier](https://aka.ms/B2CSMSCountries):
170+
171+
* Microsoft Entra External ID - Phone Authentication Low Cost 1 Transaction
172+
* Microsoft Entra External ID - Phone Authentication Mid Low Cost 1 Transaction
173+
* Microsoft Entra External ID - Phone Authentication Mid High Cost 1 Transaction
174+
* Microsoft Entra External ID - Phone Authentication High Cost 1 Transaction
175+
176+
Although the new bill mentions Microsoft Entra External ID, **you’re still billed for Azure AD B2C based on your core MAU count**.
177+
166178
- question: |
167179
Can end users use a time-based one-time password (TOTP) with an authenticator app to authenticate to my Azure AD B2C app?
168180
answer: |
@@ -271,7 +283,7 @@ sections:
271283
- question: |
272284
I am using rolling refresh tokens for my application and I am getting an invalid_grant error on redeeming newly acquired refresh tokens well within their set validity period. Why does this happen?
273285
answer: |
274-
While determining validity for rolling refresh tokens, B2C will consider the initial login time of the user in the application also to calculate the token validity skew. If the user haven't logged out of the application for a very long time, this skew value will exceed the validity period of the token and hence for security reasons the tokens will be considered as invalid. Hence the error. Inform the user to perform a proper logout and login back into the application and this should reset the skew. This scenario is not applicable if refresh token rolling is set as infinite rolling.
286+
While determining validity for rolling refresh tokens, B2C will consider the initial login time of the user in the application also to calculate the token validity skew. If the user hasn't logged out of the application for a very long time, this skew value will exceed the validity period of the token and hence for security reasons the tokens will be considered as invalid. Hence the error. Inform the user to perform a proper logout and login back into the application and this should reset the skew. This scenario is not applicable if refresh token rolling is set as infinite rolling.
275287
276288
277289
- question: |

0 commit comments

Comments
 (0)