Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Это важно
Начиная с 1 мая 2025 г. Azure AD B2C больше не будет доступен для приобретения для новых клиентов. Дополнительные сведения см. в разделе "Вопросы и ответы".
При настройке поставщика удостоверений для регистрации и входа в приложения Azure Active Directory B2C (Azure AD B2C) необходимо указать конечные точки поставщика удостоверений Azure AD B2C. Вы больше не должны ссылаться на login.microsoftonline.com в приложениях и API для проверки подлинности пользователей с помощью Azure AD B2C. Вместо этого используйте b2clogin.com или собственный домен для всех приложений.
К каким конечным точкам применяется это изменение
Переход к b2clogin.com применяется только к конечным точкам проверки подлинности, используюющим политики Azure AD B2C (потоки пользователей или пользовательские политики) для проверки подлинности пользователей. Эти конечные точки имеют параметр <policy-name>
, указывающий политику Azure AD B2C.
Дополнительные сведения о политиках Azure AD B2C.
Старые конечные точки могут выглядеть следующим образом:
-
https://login.microsoft.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize
илиhttps://login.microsoft.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name>
для конечной точки/authorize
. -
https://login.microsoft.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/logout
илиhttps://login.microsoft.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/logout?p=<policy-name>
для конечной точки/logout
.
Соответствующая обновленная конечная точка будет выглядеть примерно так:
-
https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize
илиhttps://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name>
для конечной точки/authorize
. -
https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/logout
илиhttps://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/logout?p=<policy-name>
для конечной точки/logout
.
При использовании Azure AD B2C личного домена соответствующая обновленная конечная точка будет выглядеть примерно так, как показано в следующих конечных точках. Вы можете использовать любую из этих конечных точек:
-
https://login.contoso.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/authorize
илиhttps://login.contoso.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/authorize?p=<policy-name>
для конечной точки/authorize
. -
https://login.contoso.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/logout
илиhttps://login.contoso.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/logout?p=<policy-name>
для конечной точки/logout
.
Конечные точки, которые не затронуты
Некоторые клиенты используют общие возможности корпоративных клиентов Microsoft Entra. Например, получение маркера доступа для вызова API MS Graph клиента Azure AD B2C.
Это изменение не влияет на все конечные точки, которые не содержат параметр политики в URL-адресе. Доступ к ним предоставляется только с помощью login.microsoftonline.com конечных точек идентификатора Microsoft Entra и не может использоваться с b2clogin.comили пользовательскими доменами. В следующем примере показана допустимая конечная точка токена платформы удостоверений Майкрософт.
https://login.microsoftonline.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/token
Однако если вы хотите получить маркер только для проверки подлинности пользователей, можно указать политику, которую приложение хочет использовать для проверки подлинности пользователей. В этом случае обновленные конечные точки /token
будут выглядеть примерно так, как показано в следующих примерах.
https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/token
илиhttps://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/token?p=<policy-name>
при использовании b2clogin.com.https://login.contoso.com/<tenant-name>.onmicrosoft.com/<policy-name>/oauth2/v2.0/token
илиhttps://login.contoso.com/<tenant-name>.onmicrosoft.com/oauth2/v2.0/token?p=<policy-name>
при использовании личного домена.
Обзор необходимых изменений
Возможно, потребуется внести несколько изменений для переноса приложений из login.microsoftonline.com с помощью конечных точек Azure AD B2C:
- Измените URL-адрес перенаправления в приложениях вашего поставщика идентификации, чтобы ссылаться на b2clogin.comили настраиваемый домен. Дополнительные сведения см. в руководстве по перенаправлению URL-адресов поставщика удостоверений .
- Обновите приложения Azure AD B2C, чтобы использовать b2clogin.comили пользовательский домен в ссылках на пользовательский поток и конечные точки для получения токенов. Это изменение может включать обновление использования библиотеки проверки подлинности, например библиотеки проверки подлинности Майкрософт (MSAL).
- Обновите все разрешенные источники, которые определены в параметрах CORS для настройки пользовательского интерфейса.
Изменение URL-адресов перенаправления поставщика удостоверений
На веб-сайте каждого поставщика удостоверений, где вы создали приложение, измените все доверенные URL-адреса на перенаправление на your-tenant-name.b2clogin.com
или пользовательский домен вместо login.microsoftonline.com.
Существует два формата, которые можно использовать для URL-адресов перенаправления b2clogin.com. Первое преимущество заключается в том, что название "Майкрософт" не появляется нигде в URL-адресе, так как вместо доменного имени арендатора используется его идентификатор (GUID). Обратите внимание, что конечная точка authresp
не может содержать имя политики.
https://{your-tenant-name}.b2clogin.com/{your-tenant-id}/oauth2/authresp
Второй вариант использует доменное имя клиента в виде your-tenant-name.onmicrosoft.com
. Рассмотрим пример.
https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/oauth2/authresp
Для обоих форматов:
- Замените
{your-tenant-name}
именем клиента Azure AD B2C. - Удалите
/te
, если он существует в URL-адресе.
Обновление приложений и API
Код в приложениях и API с поддержкой Azure AD B2C может ссылаться на login.microsoftonline.com
в нескольких местах. Например, ваш код может содержать ссылки на пользовательские процессы и конечные точки токенов. Обновите следующее, чтобы вместо этого ссылаться на your-tenant-name.b2clogin.com
:
- Конечная точка авторизации
- Конечная точка токена
- Издатель токенов
Например, конечная точка авторизации для политики регистрации и входа компании Contoso теперь будет:
https://contosob2c.b2clogin.com/00000000-0000-0000-0000-000000000000/B2C_1_signupsignin1
Сведения о переносе веб-приложений на основе OWIN в b2clogin.com см. в статье Перенос веб-API на основе OWIN в b2clogin.com.
Сведения о переносе API-интерфейсов управления API Azure, защищенных Azure AD B2C, см. в разделе Миграция на b2clogin.com раздела Защита API управления API Azure с помощью Azure AD B2C.
Библиотека проверки подлинности Microsoft (MSAL)
свойство MSAL.NET ValidateAuthority
Если вы используете MSAL.NET версии 2 или более ранней, установите свойство ValidateAuthority на false
при создании экземпляра клиента, чтобы включить возможность перенаправления на b2clogin.com. Установка этого значения для false
не требуется для MSAL.NET версии 3 и более поздних версий.
ConfidentialClientApplication client = new ConfidentialClientApplication(...); // Can also be PublicClientApplication
client.ValidateAuthority = false; // MSAL.NET v2 and earlier **ONLY**
Свойство MSAL для JavaScript validateAuthority
Если вы используете MSAL для JavaScript версии 1.2.2 или более ранней версии, задайте для свойства validateAuthority значение false
.
// MSAL.js v1.2.2 and earlier
this.clientApplication = new UserAgentApplication(
env.auth.clientId,
env.auth.loginAuthority,
this.authCallback.bind(this),
{
validateAuthority: false // Required in MSAL.js v1.2.2 and earlier **ONLY**
}
);
Если вы установите validateAuthority: true
в MSAL.js 1.3.0+ (по умолчанию), необходимо также указать допустимого издателя маркера с knownAuthorities
.
// MSAL.js v1.3.0+
this.clientApplication = new UserAgentApplication(
env.auth.clientId,
env.auth.loginAuthority,
this.authCallback.bind(this),
{
validateAuthority: true, // Supported in MSAL.js v1.3.0+
knownAuthorities: ['tenant-name.b2clogin.com'] // Required if validateAuthority: true
}
);
Связанный контент
Сведения о переносе веб-приложений на основе OWIN в b2clogin.com см. в статье Перенос веб-API на основе OWIN в b2clogin.com.
Сведения о переносе API-интерфейсов управления API Azure, защищенных Azure AD B2C, см. в разделе Миграция на b2clogin.com раздела Защита API управления API Azure с помощью Azure AD B2C.