PublicClientApplication class

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

Extends

Конструкторы

PublicClientApplication(Configuration)

Важные атрибуты в объекте Configuration для проверки подлинности:

  • clientID: идентификатор приложения приложения. Вы можете получить его, зарегистрируя приложение на портале регистрации приложений.
  • центр: URL-адрес центра для приложения.

Органы AAD имеют форму https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}.

  • Если приложение поддерживает учетные записи в одном каталоге организации, замените значение "Enter_the_Tenant_Info_Here" именем идентификатора клиента или клиента (например, contoso.microsoft.com).
  • Если приложение поддерживает учетные записи в любом каталоге организации, замените значение "Enter_the_Tenant_Info_Here" организациями.
  • Если приложение поддерживает учетные записи в любом каталоге организации и личных учетных записях Microsoft, замените значение "Enter_the_Tenant_Info_Here" общим значением.
  • Чтобы ограничить поддержку только личными учетными записями Microsoft, замените значение "Enter_the_Tenant_Info_Here" потребителями.

Azure центры B2C имеют форму https://{instance}/{tenant}/{policy}. Каждая политика считается собственной властью. Во время создания клиентского приложения необходимо задать все известные функцииAuthorities.

Центры ADFS представляют собой форму https://{instance}/adfs.

Методы

acquireTokenByDeviceCode(DeviceCodeRequest)

Получает маркер от центра с помощью потока кода устройства OAuth2.0. Этот поток предназначен для устройств, которые не имеют доступа к браузеру или имеют ограничения ввода. Сервер авторизации выдает объект DeviceCode с кодом проверки, кодом конечного пользователя и универсальным кодом проверки пользователя. Объект DeviceCode предоставляется с помощью обратного вызова, а конечный пользователь должен использовать другое устройство для перехода к URI проверки для ввода учетных данных. Так как клиент не может получать входящие запросы, он повторно опрашивает сервер авторизации до тех пор, пока конечный пользователь не завершит ввод учетных данных.

acquireTokenInteractive(InteractiveRequest)

Получает маркер в интерактивном режиме через браузер, запрашивая код авторизации, а затем обменивая его маркером.

acquireTokenSilent(SilentFlowRequest)

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

getAllAccounts()

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

signOut(SignOutRequest)

Удаляет артефакты кэша, связанные с данной учетной записью

Наследуемые методы

acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)

Получает токен, обмениваясь кодом авторизации, полученным на первом шаге потока кода авторизации OAuth2.0.

getAuthCodeUrl(AuthorizationCodeUrlRequest) можно использовать для создания URL-адреса для первого шага потока кода авторизации OAuth2.0. Убедитесь, что значения перенаправления и области в AuthorizationCodeUrlRequest и AuthorizationCodeRequest совпадают.

acquireTokenByRefreshToken(RefreshTokenRequest)

Получает маркер, обмениваясь маркером обновления, предоставленным для нового набора маркеров.

Этот API предоставляется только для сценариев, в которых требуется выполнить миграцию из ADAL в MSAL. В противном случае рекомендуется использовать acquireTokenSilent() для автоматических сценариев. При использовании acquireTokenSilent()MSAL будет обрабатывать кэширование и обновление маркеров автоматически.

acquireTokenByUsernamePassword(UsernamePasswordRequest)

Получает маркеры с предоставлением пароля, обмениваясь именем пользователя и паролем клиентских приложений для учетных данных

Последняя политика безопасности OAuth 2.0 рекомендуется полностью запретить предоставление пароля. Дополнительные сведения об этой рекомендации см. в https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 документации и рекомендациях Microsoft:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword

clearCache()

Очистите кэш

getAuthCodeUrl(AuthorizationUrlRequest)

Создает URL-адрес запроса авторизации, позволяя пользователю вводить учетные данные и давать согласие приложению. URL-адрес предназначен для конечной точки /authorize центра, настроенного в объекте приложения.

После ввода учетными данными и согласия пользователя центр отправит ответ на URI перенаправления, отправленный в запросе, и должен содержать код авторизации, который затем можно использовать для получения маркеров с помощью acquireTokenByCode(AuthorizationCodeRequest).

getLogger()

Возвращает экземпляр средства ведения журнала

getTokenCache()

Возвращает кэш маркеров для приложения.

setLogger(Logger)

Заменяет набор средств ведения журнала по умолчанию в конфигурациях новым средство ведения журнала новыми конфигурациями.

Сведения о конструкторе

PublicClientApplication(Configuration)

Важные атрибуты в объекте Configuration для проверки подлинности:

  • clientID: идентификатор приложения приложения. Вы можете получить его, зарегистрируя приложение на портале регистрации приложений.
  • центр: URL-адрес центра для приложения.

Органы AAD имеют форму https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}.

  • Если приложение поддерживает учетные записи в одном каталоге организации, замените значение "Enter_the_Tenant_Info_Here" именем идентификатора клиента или клиента (например, contoso.microsoft.com).
  • Если приложение поддерживает учетные записи в любом каталоге организации, замените значение "Enter_the_Tenant_Info_Here" организациями.
  • Если приложение поддерживает учетные записи в любом каталоге организации и личных учетных записях Microsoft, замените значение "Enter_the_Tenant_Info_Here" общим значением.
  • Чтобы ограничить поддержку только личными учетными записями Microsoft, замените значение "Enter_the_Tenant_Info_Here" потребителями.

Azure центры B2C имеют форму https://{instance}/{tenant}/{policy}. Каждая политика считается собственной властью. Во время создания клиентского приложения необходимо задать все известные функцииAuthorities.

Центры ADFS представляют собой форму https://{instance}/adfs.

new PublicClientApplication(configuration: Configuration)

Параметры

configuration
Configuration

Сведения о методе

acquireTokenByDeviceCode(DeviceCodeRequest)

Получает маркер от центра с помощью потока кода устройства OAuth2.0. Этот поток предназначен для устройств, которые не имеют доступа к браузеру или имеют ограничения ввода. Сервер авторизации выдает объект DeviceCode с кодом проверки, кодом конечного пользователя и универсальным кодом проверки пользователя. Объект DeviceCode предоставляется с помощью обратного вызова, а конечный пользователь должен использовать другое устройство для перехода к URI проверки для ввода учетных данных. Так как клиент не может получать входящие запросы, он повторно опрашивает сервер авторизации до тех пор, пока конечный пользователь не завершит ввод учетных данных.

function acquireTokenByDeviceCode(request: DeviceCodeRequest): Promise<null | AuthenticationResult>

Параметры

Возвращаемое значение

Promise<null | AuthenticationResult>

acquireTokenInteractive(InteractiveRequest)

Получает маркер в интерактивном режиме через браузер, запрашивая код авторизации, а затем обменивая его маркером.

function acquireTokenInteractive(request: InteractiveRequest): Promise<AuthenticationResult>

Параметры

Возвращаемое значение

acquireTokenSilent(SilentFlowRequest)

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

function acquireTokenSilent(request: SilentFlowRequest): Promise<AuthenticationResult>

Параметры

request
SilentFlowRequest

разработчик предоставил SilentFlowRequest

Возвращаемое значение

getAllAccounts()

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

function getAllAccounts(): Promise<AccountInfo[]>

Возвращаемое значение

Promise<AccountInfo[]>

signOut(SignOutRequest)

Удаляет артефакты кэша, связанные с данной учетной записью

function signOut(request: SignOutRequest): Promise<void>

Параметры

request
SignOutRequest

разработчик предоставил SignOutRequest

Возвращаемое значение

Promise<void>

Сведения о наследуемом методе

acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)

Получает токен, обмениваясь кодом авторизации, полученным на первом шаге потока кода авторизации OAuth2.0.

getAuthCodeUrl(AuthorizationCodeUrlRequest) можно использовать для создания URL-адреса для первого шага потока кода авторизации OAuth2.0. Убедитесь, что значения перенаправления и области в AuthorizationCodeUrlRequest и AuthorizationCodeRequest совпадают.

function acquireTokenByCode(request: AuthorizationCodeRequest, authCodePayLoad?: AuthorizationCodePayload): Promise<AuthenticationResult>

Параметры

authCodePayLoad
AuthorizationCodePayload

Возвращаемое значение

Наследуется отClientApplication.acquireTokenByCode

acquireTokenByRefreshToken(RefreshTokenRequest)

Получает маркер, обмениваясь маркером обновления, предоставленным для нового набора маркеров.

Этот API предоставляется только для сценариев, в которых требуется выполнить миграцию из ADAL в MSAL. В противном случае рекомендуется использовать acquireTokenSilent() для автоматических сценариев. При использовании acquireTokenSilent()MSAL будет обрабатывать кэширование и обновление маркеров автоматически.

function acquireTokenByRefreshToken(request: RefreshTokenRequest): Promise<null | AuthenticationResult>

Параметры

Возвращаемое значение

Promise<null | AuthenticationResult>

Наследуется отClientApplication.acquireTokenByRefreshToken

acquireTokenByUsernamePassword(UsernamePasswordRequest)

Предупреждение

Теперь этот API является нерекомендуемым.

  • Use a more secure flow instead

Получает маркеры с предоставлением пароля, обмениваясь именем пользователя и паролем клиентских приложений для учетных данных

Последняя политика безопасности OAuth 2.0 рекомендуется полностью запретить предоставление пароля. Дополнительные сведения об этой рекомендации см. в https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 документации и рекомендациях Microsoft:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword

function acquireTokenByUsernamePassword(request: UsernamePasswordRequest): Promise<null | AuthenticationResult>

Параметры

request
UsernamePasswordRequest

UsenamePasswordRequest

Возвращаемое значение

Promise<null | AuthenticationResult>

Наследуется отClientApplication.acquireTokenByUsernamePassword

clearCache()

Очистите кэш

function clearCache()

Унаследовано отClientApplication.clearCache

getAuthCodeUrl(AuthorizationUrlRequest)

Создает URL-адрес запроса авторизации, позволяя пользователю вводить учетные данные и давать согласие приложению. URL-адрес предназначен для конечной точки /authorize центра, настроенного в объекте приложения.

После ввода учетными данными и согласия пользователя центр отправит ответ на URI перенаправления, отправленный в запросе, и должен содержать код авторизации, который затем можно использовать для получения маркеров с помощью acquireTokenByCode(AuthorizationCodeRequest).

function getAuthCodeUrl(request: AuthorizationUrlRequest): Promise<string>

Параметры

Возвращаемое значение

Promise<string>

Наследуется отClientApplication.getAuthCodeUrl

getLogger()

Возвращает экземпляр средства ведения журнала

function getLogger(): Logger

Возвращаемое значение

Наследуется отClientApplication.getLogger

getTokenCache()

Возвращает кэш маркеров для приложения.

function getTokenCache(): TokenCache

Возвращаемое значение

Наследуется отClientApplication.getTokenCache

setLogger(Logger)

Заменяет набор средств ведения журнала по умолчанию в конфигурациях новым средство ведения журнала новыми конфигурациями.

function setLogger(logger: Logger)

Параметры

logger
Logger

Экземпляр средства ведения журнала

Наследуется отClientApplication.setLogger