Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Для проверки подлинности и получения маркеров в коде инициализируется новое общедоступное или конфиденциальное клиентское приложение. При инициализации клиентского приложения в библиотеке проверки подлинности Майкрософт (MSAL) можно задать ряд параметров конфигурации. Эти параметры делятся на две группы:
- Параметры регистрации, в том числе:
- центр (состоящий из экземпляра поставщика удостоверений, аудитории для входа в приложение и, возможно, идентификатора клиента);
- Идентификатор клиента
- URI перенаправления
- секрет клиента (для конфиденциальных клиентских приложений);
- Сертификат (для конфиденциальных клиентских приложений)
- Учетные данные федеративного удостоверения (для конфиденциальных клиентских приложений)
- параметры ведения журнала, в том числе уровень ведения журнала, управление персональными данными и имя компонента, использующего библиотеку.
Центр
Центр — это URL-адрес, указывающий на каталог, из которого MSAL может запрашивать маркеры.
Ниже перечислены некоторые часто используемые центры.
URL-адреса часто используемых центров | Когда использовать |
---|---|
https://login.microsoftonline.com/<tenant>/ |
Вход пользователей только из определенной организации. В <tenant> URL-адресе указан идентификатор клиента Microsoft Entra (GUID) или его домена клиента. |
https://login.microsoftonline.com/common/ |
Вход пользователей с рабочими и учебными учетными записями или личными учетными записями Майкрософт. |
https://login.microsoftonline.com/organizations/ |
Вход пользователей с рабочими и учебными учетными записями. |
https://login.microsoftonline.com/consumers/ |
Вход пользователей только с личными учетными записями Майкрософт (MSA). |
Центр, указанный в коде, должен соответствовать поддерживаемым типам учетных записей, указанным вами для приложения в разделе Регистрация приложений на портале Azure.
Центр может принимать следующие формы:
- Центр облака Microsoft Entra.
- Центр Azure AD B2C. См. статью "Особенности B2C в AAD".
- Центр служб федерации Active Directory (AD FS). См. статью "Поддержка ADFS".
В облачных центрах Microsoft Entra есть две части:
- экземпляр поставщика удостоверений;
- аудитория входа для приложения.
Экземпляр и аудиторию можно соединить и предоставить в качестве URL-адреса центра. На этой схеме показано, из чего состоит URL-адрес центра:
Облачный экземпляр
Экземпляр указывает, откуда входят пользователи в приложение: из общедоступного облака Azure или из национальных облаков. Используя MSAL в своем коде, вы можете установить облачный экземпляр Azure, применив перечисление или передав URL-адрес национальному облачному экземпляру в качестве члена Instance
.
MSAL.NET вызывает явное исключение, если указано и то Instance
, и другое AzureCloudInstance
.
Если экземпляр не указан, приложение предназначено для экземпляра общедоступного облака Azure (экземпляр URL-адреса https://login.onmicrosoftonline.com
).
Аудитория приложения
Аудитория входа зависит от бизнес-потребностей вашего приложения.
- Если вы являетесь разработчиком бизнес-аналитики, вы, вероятно, создадите однотенантное приложение, которое используется только в вашей организации. В этом случае укажите организацию идентификатором клиента (идентификатором экземпляра Microsoft Entra) или доменным именем, связанным с экземпляром Microsoft Entra.
- Если вы являетесь независимым поставщиком программного обеспечения, вам может понадобиться, чтобы пользователи входили с использованием рабочих и учебных учетных записей любой организации или некоторых организаций (многоклиентское приложение). Но, возможно, вам также потребуется, чтобы пользователи входили с использованием личных учетных записей Майкрософт.
Как указать аудиторию в коде или конфигурации
Используя в коде MSAL, вы можете указать аудиторию, задав одно из следующих значений:
- Перечисление аудитории центра записи Майкрософт
- Идентификатор клиента, который может быть:
- GUID (идентификатор экземпляра Microsoft Entra) для однотенантных приложений
- Доменное имя, связанное с экземпляром Microsoft Entra (также для однотенантных приложений)
- Один из этих заполнителей в качестве идентификатора клиента вместо перечисления аудитории центра Microsoft Entra:
-
organizations
— для многоклиентского приложения; -
consumers
— для входа пользователей только с использованием личных учетных записей; -
common
— для входа пользователей с использованием рабочих и учебных учетных записей или личных учетных записей Майкрософт.
-
MSAL создает понятное исключение, если указать аудиторию центра Microsoft Entra и идентификатор клиента.
Рекомендуется указать аудиторию, так как многие клиенты и приложения, развернутые в них, будут иметь гостевых пользователей. Если приложение предназначено для внешних пользователей, избегайте избежать common
organization
конечных точек. Если вы не указываете аудиторию, ваше приложение предназначено для идентификатора Microsoft Entra ID и личных учетных записей Майкрософт в качестве аудитории и будет вести себя как будто common
указано.
Действующая аудитория
Действующей аудиторией вашего приложения будет наименьшее (если есть пересечение) подмножество аудитории, заданной в приложении, и аудитории, указанной в регистрационных данных приложения. По сути, вы можете задать аудиторию(поддерживаемые типы учетных записей) для приложения в разделе Регистрация приложений. Дополнительные сведения см. в Быстрый старт: зарегистрируйте приложение на платформе идентификации Microsoft.
В настоящее время, чтобы входить в приложение могли только пользователи с личными учетными записями Майкрософт, достаточно настроить оба этих параметра:
- задайте для аудитории значение
Work and school accounts and personal accounts
в регистрационных данных приложения; - задайте для аудитории в коде или конфигурации значение
AadAuthorityAudience.PersonalMicrosoftAccount
(илиTenantID
= "consumers").
Идентификатор клиента
Идентификатор клиента — это уникальный идентификатор приложения (клиента), назначенный приложению идентификатором Microsoft Entra ID при регистрации приложения. Идентификатор приложения (клиента) можно найти на странице обзора приложения в приложениях Entra ID>Enterprise.
URI-адрес перенаправления
URI перенаправления — это универсальный код ресурса (URI), в который поставщик удостоверений отправляет маркеры безопасности.
URI перенаправления для общедоступных клиентских приложений
Если вы разработчик общедоступных клиентских приложений и используете MSAL:
Вы хотите использовать
.WithDefaultRedirectUri()
в классических приложениях (MSAL.NET 4.1+). Метод.WithDefaultRedirectUri()
задает свойство URI перенаправления общедоступного клиентского приложения для рекомендуемого URI перенаправления по умолчанию для общедоступных клиентских приложений.Платформа URI-адрес перенаправления Классическое приложение (платформа .NET Framework) https://login.microsoftonline.com/common/oauth2/nativeclient
UWP (Универсальная платформа Windows) Значение параметра WebAuthenticationBroker.GetCurrentApplicationCallbackUri()
. Это включает единый вход (SSO) с помощью браузера с установлением значение для результата WebAuthenticationBroker.GetCurrentApplicationCallbackUri(), который необходимо зарегистрировать.СЕТЬ https://localhost
позволяет пользователю использовать системный браузер для интерактивной проверки подлинности, так как .NET в данный момент не имеет пользовательского интерфейса для внедренного веб-представления.
URI перенаправления можно переопределить, задав свойство RedirectUri
(например, при использовании брокеров). Вот некоторые примеры URI перенаправления для этого сценария:
RedirectUriOnAndroid
="msauth-00001111-aaaa-2222-bbbb-3333cccc4444://com.microsoft.identity.client.sample";
RedirectUriOnIos
=$"msauth.{Bundle.ID}://auth";
Дополнительные сведения об Android см. в разделе Аутентификация через брокера в Android.
При создании приложения с помощью MSAL Android можно настроить
redirect_uri
во время начального шага регистрации приложения или добавить его после этого.- Формат URI перенаправления:
msauth://<yourpackagename>/<base64urlencodedsignature>
- Пример:
redirect_uri
=msauth://com.azuresamples.myapp/6/aB1cD2eF3gH4iJ5kL6-mN7oP8qR=
- Формат URI перенаправления:
Дополнительные сведения о конфигурации приложения MSAL Android см. в конфигурации MSAL Android.
Настройте URI перенаправления в разделе Регистрация приложений:
URI перенаправления для конфиденциальных клиентских приложений
Для веб-приложений URI перенаправления (или URL-адрес ответа) — это универсальный код ресурса (URI), который идентификатор Microsoft Entra будет использовать для отправки маркера обратно в приложение. URI может быть URL-адресом веб-приложения или веб-API, если конфиденциальное приложение является одним из них. URI перенаправления должен быть указан в регистрационных данных приложения. Регистрация особенно важна при развертывании приложения, которое вы изначально тестировали локально. Затем необходимо добавить URL-адрес ответа развернутого приложения на портале регистрации приложений.
Для приложений, представляющих собой управляющую программу, URI перенаправления указывать не нужно.
Учетные данные приложения
Для конфиденциальных клиентских приложений эффективное управление учетными данными является важным. Учетные данные могут быть федеративными (рекомендуемыми), сертификатом или секретом клиента.
Учетные данные идентификации в федеративной системе
Федеративные учетные данные идентичности — это тип учетных данных, которые позволяют рабочим нагрузкам, таким как GitHub Actions, Kubernetes, или тем, которые выполняются на вычислительных платформах за пределами Azure, получать доступ к защищенным ресурсам Microsoft Entra без необходимости управлять секретами, используя федерацию идентичности рабочей нагрузки.
Сертификат
Этот параметр задает сертификат для конфиденциального клиентского приложения. Иногда называется открытым ключом, поэтому сертификат является рекомендуемым типом учетных данных, так как они считаются более безопасными, чем секреты клиента.
Секрет клиента
Этот параметр задает секрет клиента для конфиденциального клиентского приложения. Секрет клиента (пароль приложения) предоставляется порталом регистрации приложения или предоставляется идентификатору Microsoft Entra во время регистрации приложения с помощью идентификатора Microsoft Entra ID, PowerShell AzureRM или Azure CLI.
Ведение журнала
Для упрощения отладки и устранения неполадок с проверкой подлинности MSAL предоставляет встроенную поддержку ведения журнала. Ведение журнала в каждой библиотеке описано в следующих статьях:
Следующие шаги
Сведения о создании экземпляров клиентских приложений с помощью MSAL.NET и с помощью MSAL.js.