PublicClientApplicationBuilder Класс

Определение

public sealed class PublicClientApplicationBuilder : Microsoft.Identity.Client.AbstractApplicationBuilder<Microsoft.Identity.Client.PublicClientApplicationBuilder>
type PublicClientApplicationBuilder = class
    inherit AbstractApplicationBuilder<PublicClientApplicationBuilder>
Public NotInheritable Class PublicClientApplicationBuilder
Inherits AbstractApplicationBuilder(Of PublicClientApplicationBuilder)
Наследование

Методы

Имя Описание
Build()

Создает экземпляр IPublicClientApplication из набора параметров в объекте PublicClientApplicationBuilder.

Create(String)

Создает PublicClientApplicationBuilder из идентификатора клиента. См. https://aka.ms/msal-net-application-configuration

CreateWithApplicationOptions(PublicClientApplicationOptions)

Создает PublicClientApplicationBuilder из параметров конфигурации общедоступного клиентского приложения. См. https://aka.ms/msal-net-application-configuration

IsBrokerAvailable()

Возвращает, true можно ли использовать брокер. Этот метод необходимо использовать только в мобильных сценариях, поддерживающих управление мобильными приложениями. В других поддерживаемых сценариях используется WithBroker сама по себе, которая будет возвращаться к использованию браузера, если брокер недоступен.

WithAdfsAuthority(String, Boolean)

Добавляет известный центр, соответствующий серверу ADFS. См. https://aka.ms/msal-net-adfs

(Унаследовано от AbstractApplicationBuilder<T>)
WithAuthority(AadAuthorityAudience, Boolean)

Добавляет в приложение известный центр Azure AD для пользователей входа, указывающих аудиторию входа (облако, являющееся Azure общедоступным облаком). См. https://aka.ms/msal-net-application-configuration.

(Унаследовано от AbstractApplicationBuilder<T>)
WithAuthority(AzureCloudInstance, AadAuthorityAudience, Boolean)

Добавляет известный центр Azure AD в приложение для входа пользователей, указывающих облачный экземпляр и аудиторию входа. См. https://aka.ms/msal-net-application-configuration.

(Унаследовано от AbstractApplicationBuilder<T>)
WithAuthority(AzureCloudInstance, Guid, Boolean)

Добавляет известный центр Azure AD в приложение для входа пользователей из одной организации (однотенантного приложения), описанного его облачным экземпляром и идентификатором клиента. См. https://aka.ms/msal-net-application-configuration.

(Унаследовано от AbstractApplicationBuilder<T>)
WithAuthority(AzureCloudInstance, String, Boolean)

Добавляет известный центр Azure AD в приложение для входа пользователей из одной организации (однотенантного приложения), описанной в своем облачном экземпляре и его доменном имени или идентификаторе клиента. См. https://aka.ms/msal-net-application-configuration.

(Унаследовано от AbstractApplicationBuilder<T>)
WithAuthority(String, Boolean)

Добавляет известный Azure центр AD в приложение для входа пользователей, указывающих полный универсальный код ресурса (URI) центра. См. параметры конфигурации приложения.

(Унаследовано от AbstractApplicationBuilder<T>)
WithAuthority(String, Guid, Boolean)

Добавляет известный центр Azure AD в приложение для входа пользователей из одной организации (однотенантного приложения), указанного его идентификатором клиента. См. параметры конфигурации приложения.

(Унаследовано от AbstractApplicationBuilder<T>)
WithAuthority(String, String, Boolean)

Добавляет известный центр Azure AD в приложение для входа пользователей из одной организации (однотенантного приложения), описанного его доменным именем. См. https://aka.ms/msal-net-application-configuration.

(Унаследовано от AbstractApplicationBuilder<T>)
WithAuthority(Uri, Boolean)

Добавляет известный центр в приложение. См. параметры конфигурации приложения. Этот конструктор в основном используется для сценариев, когда центр не является стандартным Azure центром AD, а также центром ADFS, а также Azure центром AD B2C. Для Azure AD, даже в национальных облаках, предпочитают использовать другие переопределения, такие какWithAuthority(AzureCloudInstance, AadAuthorityAudience, Boolean)

(Унаследовано от AbstractApplicationBuilder<T>)
WithB2CAuthority(String)

Добавляет известный центр, соответствующий политике AD B2C Azure. См. https://aka.ms/msal-net-b2c-specificities

(Унаследовано от AbstractApplicationBuilder<T>)
WithBroker(Boolean)
WithCacheOptions(CacheOptions)

Параметры кэша маркеров MSAL.

MSAL сохраняет кэш маркеров внутри памяти. По умолчанию этот объект кэша является частью каждого экземпляра PublicClientApplication или ConfidentialClientApplication. Этот метод позволяет настраивать кэш токенов в памяти MSAL.

Кэш памяти MSAL отличается от сериализации кэша маркеров. Сериализация кэша извлекает маркеры из кэша (например, Redis, Cosmos или файл на диске), где они хранятся в формате JSON, в внутренний кэш памяти MSAL. Операции кэша памяти не включают операции JSON.

Сериализация внешнего кэша остается рекомендуемым способом обработки классических приложений, веб-сайтов и веб-API, так как она обеспечивает сохраняемость. Эти параметры в настоящее время не управляют сериализацией внешнего кэша.

Подробные рекомендации по каждому типу приложения и платформе: https://aka.ms/msal-net-token-cache-serialization

(Унаследовано от AbstractApplicationBuilder<T>)
WithClientCapabilities(IEnumerable<String>)

Microsoft определенное расширение OIDC для идентификации, позволяющее устранить проблемы с ресурсами без взаимодействия. Разрешает настройку одного или нескольких клиентских возможностей, например llt.

(Унаследовано от AbstractApplicationBuilder<T>)
WithClientId(String)

Задает идентификатор клиента приложения

(Унаследовано от AbstractApplicationBuilder<T>)
WithClientName(String)

Задает имя вызывающего API ПАКЕТА SDK для целей телеметрии.

(Унаследовано от BaseAbstractApplicationBuilder<T>)
WithClientVersion(String)

Задает версию вызывающего пакета SDK для целей телеметрии.

(Унаследовано от BaseAbstractApplicationBuilder<T>)
WithDebugLoggingCallback(LogLevel, Boolean, Boolean)

Задает обратный вызов журнала отладки методом отладки по умолчанию, который отображает уровень сообщения и самого сообщения. Дополнительные сведения см. в разделе https://aka.ms/msal-net-logging

(Унаследовано от BaseAbstractApplicationBuilder<T>)
WithDefaultRedirectUri()

Настраивает общедоступное клиентское приложение для использования рекомендуемого URI ответа для платформы. См. https://aka.ms/msal-net-default-reply-uri.

Platform
.NET настольный компьютер
Для системного браузера в .NET Core
ПРИМЕЧАНИЕ.В будущем будет обновлен URI перенаправления по умолчанию для системных браузеров .NET на настольных компьютерах и .NET Основных платформах.
WithExperimentalFeatures(Boolean)

Позволяет использовать экспериментальные функции и API. Если этот флаг не задан, экспериментальные функции будут вызывать исключение. Дополнительные сведения см. в разделе https://aka.ms/msal-net-experimental-features

(Унаследовано от BaseAbstractApplicationBuilder<T>)
WithExtraQueryParameters(IDictionary<String,String>)
Устаревшие.

Задает дополнительные параметры запроса для строки запроса в http-запросе проверки подлинности

(Унаследовано от AbstractApplicationBuilder<T>)
WithExtraQueryParameters(IDictionary<String,ValueTuple<String,Boolean>>)

Задает дополнительные параметры запроса для строки запроса в http-запросе проверки подлинности с помощью управления параметрами, включенными в ключ кэша.

(Унаследовано от AbstractApplicationBuilder<T>)
WithExtraQueryParameters(String)
Устаревшие.

Задает дополнительные параметры запроса для строки запроса в http-запросе проверки подлинности

(Унаследовано от AbstractApplicationBuilder<T>)
WithHttpClientFactory(IMsalHttpClientFactory, Boolean)

Использует конкретный IMsalHttpClientFactory объект для взаимодействия с idP. Это позволяет выполнять расширенные сценарии, такие как установка прокси-сервера или настройка агента.

(Унаследовано от BaseAbstractApplicationBuilder<T>)
WithHttpClientFactory(IMsalHttpClientFactory)

Использует конкретный IMsalHttpClientFactory объект для взаимодействия с idP. Это позволяет выполнять расширенные сценарии, такие как установка прокси-сервера или настройка агента.

(Унаследовано от BaseAbstractApplicationBuilder<T>)
WithInstanceDicoveryMetadata(String)
Устаревшие.

Позволяет разработчикам настраивать собственные допустимые органы. Необходимо указать строку JSON, аналогичную https://aka.ms/aad-instance-discovery этой строке. MSAL использует следующие сведения:

  • Вызов REST API в среде, указанной в preferred_network
  • Определение среды, в которой можно сохранить маркеры и учетные записи в кэше.
  • Использование псевдонимов среды для сопоставления маркеров, выданных другим властям
Дополнительные сведения см. в разделе https://aka.ms/msal-net-custom-instance-metadata (Унаследовано от AbstractApplicationBuilder<T>)
WithInstanceDicoveryMetadata(Uri)
Устаревшие.

Позволяет организации настроить собственную службу для обработки обнаружения экземпляров, что позволяет лучше кэширование для микрослужб или сред службы. Uri, возвращающий ответ, аналогичный https://aka.ms/aad-instance-discovery указанному, должен быть предоставлен. MSAL использует следующие сведения:

  • Вызов REST API в среде, указанной в preferred_network
  • Определение среды, в которой можно сохранить маркеры и учетные записи в кэше.
  • Использование псевдонимов среды для сопоставления маркеров, выданных другим властям
Дополнительные сведения см. в разделе https://aka.ms/msal-net-custom-instance-metadata (Унаследовано от AbstractApplicationBuilder<T>)
WithInstanceDiscovery(Boolean)

Определяет, выполняется ли обнаружение экземпляров при попытке проверки подлинности. Если задано значение false, это полностью отключит обнаружение экземпляров и проверку центра. Это не повлияет на поведение приложения, настроенного с региональными конечными точками.

(Унаследовано от AbstractApplicationBuilder<T>)
WithInstanceDiscoveryMetadata(String)

Позволяет разработчикам настраивать собственные допустимые органы. Необходимо указать строку JSON, аналогичную https://aka.ms/aad-instance-discovery этой строке. MSAL использует следующие сведения:

  • Вызов REST API в среде, указанной в preferred_network
  • Определение среды, в которой можно сохранить маркеры и учетные записи в кэше.
  • Использование псевдонимов среды для сопоставления маркеров, выданных другим властям
Дополнительные сведения см. в разделе https://aka.ms/msal-net-custom-instance-metadata (Унаследовано от AbstractApplicationBuilder<T>)
WithInstanceDiscoveryMetadata(Uri)

Позволяет организации настроить собственную службу для обработки обнаружения экземпляров, что позволяет лучше кэширование для микрослужб или сред службы. Uri, возвращающий ответ, аналогичный https://aka.ms/aad-instance-discovery указанному, должен быть предоставлен. MSAL использует следующие сведения:

  • Вызов REST API в среде, указанной в preferred_network
  • Определение среды, в которой можно сохранить маркеры и учетные записи в кэше.
  • Использование псевдонимов среды для сопоставления маркеров, выданных другим властям
Дополнительные сведения см. в разделе https://aka.ms/msal-net-custom-instance-metadata (Унаследовано от AbstractApplicationBuilder<T>)
WithIosKeychainSecurityGroup(String)

Можно указать группу доступа к цепочке ключей, используемую для сохранения кэша маркеров в нескольких приложениях. Это позволяет совместно использовать кэш маркеров между несколькими приложениями с одной группой доступа к цепочке ключей. Общий доступ к кэшу маркеров позволяет выполнять единый вход между всеми приложениями, используюющими одну группу доступа к цепочке ключей. См. https://aka.ms/msal-net-ios-keychain-security-group для получения дополнительной информации.

WithKerberosTicketClaim(String, KerberosTicketContainer)
Устаревшие.

Задает параметры, необходимые для получения билета Kerberos из службы Azure AD.

WithLegacyCacheCompatibility(Boolean)

Включает сериализацию и десериализацию устаревшего кэша ADAL.

(Унаследовано от AbstractApplicationBuilder<T>)
WithLogging(IIdentityLogger, Boolean)

Задает средство ведения журнала удостоверений. Дополнительные сведения см. в разделе https://aka.ms/msal-net-logging

(Унаследовано от BaseAbstractApplicationBuilder<T>)
WithLogging(LogCallback, Nullable<LogLevel>, Nullable<Boolean>, Nullable<Boolean>)

Задает обратный вызов ведения журнала. Дополнительные сведения см. в разделе https://aka.ms/msal-net-logging

(Унаследовано от BaseAbstractApplicationBuilder<T>)
WithMultiCloudSupport(Boolean)

Включает поддержку нескольких облаков для этого экземпляра общедоступного клиентского приложения. Это позволяет приложениям использовать в глобальной общедоступной облачной службе библиотеки и по-прежнему получать маркеры для ресурсов из национальных облаков.

WithOidcAuthority(String)

Добавляет известный центр, соответствующий универсальному поставщику удостоверений OpenIdConnect. MSAL добавит .well-known/openid-configuration" в центр и извлекает метаданные OIDC из него, чтобы выяснить конечные точки. См. https://openid.net/specs/openid-connect-core-1_0.html#Terminology

WithOptions(ApplicationOptions)

Задает параметры приложения, которые, например, были прочитаны из файлов конфигурации. См. https://aka.ms/msal-net-application-configuration.

(Унаследовано от AbstractApplicationBuilder<T>)
WithOptions(BaseApplicationOptions)

Задает параметры приложения, которые, например, были прочитаны из файлов конфигурации. См. https://aka.ms/msal-net-application-configuration.

(Унаследовано от BaseAbstractApplicationBuilder<T>)
WithParentActivityOrWindow(Func<IntPtr>)

Задает ссылку на IntPtr в окно, которое активирует отображаемый браузер. Используется для центра браузера, который появится в этом окне.

WithParentActivityOrWindow(Func<Object>)

Задает ссылку на ViewController (при использовании iOS), действие (при использовании Android) IWin32Window или IntPtr (при использовании .Net Framework). Используется для вызова браузера.

WithRedirectUri(String)

Задает универсальный код ресурса (URI перенаправления) приложения. URI также должен быть зарегистрирован на портале приложения. См. https://aka.ms/msal-net-application-configuration

(Унаследовано от AbstractApplicationBuilder<T>)
WithTelemetry(ITelemetryConfig)
Устаревшие.

Создание событий агрегирования телеметрии.

(Унаследовано от AbstractApplicationBuilder<T>)
WithTenantId(String)

Задает идентификатор клиента организации, из которой приложение позволит пользователям входить. Это обычно GUID или доменное имя. См. https://aka.ms/msal-net-application-configuration. Хотя также можно задать tenantIdcommonзначение , organizationsи consumers, рекомендуется использовать одно из переопределения WithAuthority(AzureCloudInstance, AadAuthorityAudience, Boolean).

(Унаследовано от AbstractApplicationBuilder<T>)
WithWindowsBrokerOptions(WindowsBrokerOptions)
Устаревшие.

Разрешает настройку интерфейса брокера Windows 10.

Методы расширения

Имя Описание
WithBroker(PublicClientApplicationBuilder, BrokerOptions)

Брокеры обеспечивают единый вход, идентификацию устройств и проверку идентификации приложений, повышая безопасность приложений. Используйте этот API для включения брокеров на настольных платформах.

Дополнительные https://aka.ms/msal-net-wam сведения о конкретных параметрах платформы, необходимых для включения брокера, например URI перенаправления.

WithBroker(PublicClientApplicationBuilder, BrokerOptions)

Брокеры обеспечивают единый вход, идентификацию устройств и повышенную безопасность. Используйте этот API для включения брокеров на настольных платформах.

Дополнительные https://aka.ms/msal-net-wam сведения о конкретных параметрах платформы, необходимых для включения брокера, например URI перенаправления.

WithBrokerPreview(PublicClientApplicationBuilder, Boolean)
Устаревшие.

Позволяет MSAL использовать потоки брокера, которые являются более безопасными, чем браузеры. Дополнительные сведения о брокере Windows см. в разделеhttps://aka.ms/msal-net-wam

WithDesktopFeatures(PublicClientApplicationBuilder)
Устаревшие.

Добавляет расширенную поддержку классических приложений, например CLI, WinForms, WPF приложений.

Добавлена поддержка:

  • брокер Windows Authentication Manager (WAM), рекомендуемый механизм проверки подлинности в Windows 10 —https://aka.ms/msal-net-wam
  • Внедренное веб-представление WebView2 на основе Microsoft Edge —https://aka.ms/msal-net-webview2
WithSsoPolicy(PublicClientApplicationBuilder)

Используйте этот API для включения принудительного применения SsoPolicy. Следует использовать только Microsoft сторонними приложениями. Это применимо только в том случае, если брокер не включен и внедренное веб-представление является предпочтительным вариантом. По умолчанию брокер поддерживает SsoPolicy, а системное веб-представление SsoPolicy также поддерживается на уровне ОС.

WithWindowsBroker(PublicClientApplicationBuilder, Boolean)
Устаревшие.

Включает потоки брокера Windows на более старых платформах, например платформу .NET, где они недоступны в поле с Microsoft. Identity.Client Дополнительные сведения о брокере Windows см. в разделеhttps://aka.ms/msal-net-wam

WithWindowsDesktopFeatures(PublicClientApplicationBuilder, BrokerOptions)

Добавляет расширенную поддержку классических приложений, например CLI, WinForms, WPF приложений.

  • брокер Windows Authentication Manager (WAM) — рекомендуемый механизм проверки подлинности Windows 10+ —https://aka.ms/msal-net-wam
  • Внедренное веб-представление. Приложения AAD используют старый элемент управления WebBrowser. Другие приложения (B2C, ADFS и т. д.) используют WebView2, внедренный браузер на основе Microsoft Edge -https://aka.ms/msal-net-webview2
WithWindowsEmbeddedBrowserSupport(PublicClientApplicationBuilder)

Добавляет улучшенную поддержку внедренного браузера в MSAL. Приложения AAD будут использовать старый элемент управления WebBrowser. Другие приложения (B2C, ADFS и т. д.) будут использовать внедренный браузер на основе Microsoft Edge -https://aka.ms/msal-net-webview2

Применяется к