ConfidentialClientApplication class

Этот класс используется для получения маркеров для конфиденциальных клиентских приложений (webApp, webAPI). Конфиденциальные клиентские приложения будут настраивать секреты приложений, сертификаты и утверждения клиента в соответствии с применимыми

Extends

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

ConfidentialClientApplication(Configuration)

Конструктор для КонфиденциальнойClientApplication

Обязательные атрибуты в объекте Configuration:

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

В Azure AD центр — это URL-адрес формы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}/tfp/{tenant}/{policyName}/ Полная функция B2C будет доступна в этой библиотеке в будущих версиях.

Методы

acquireTokenByClientCredential(ClientCredentialRequest)

Получает маркеры от центра приложения (а не для конечного пользователя).

acquireTokenOnBehalfOf(OnBehalfOfRequest)

Получает маркеры от центра приложения.

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

Текущее приложение среднего уровня не имеет взаимодействия с пользователем для получения согласия. Узнайте, как получить согласие для вашего приложения среднего уровня из этой статьи. https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application

SetAppTokenProvider(IAppTokenProvider)

Эта точка расширяемости работает только для потока client_credential, т. е. полученияTokenByClientCredential и предназначена для Azure SDK для повышения поддержки управляемых удостоверений.

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

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

acquireTokenSilent(SilentFlowRequest)

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

Этот API ожидает, что пользователь предоставит объект учетной записи и просматривает кэш, чтобы получить маркер при наличии. Кроме того, существует необязательный логический параметр forceRefresh, который пользователь может отправить для обхода кэша для access_token и id_token. Если срок действия refresh_token истек или не найден, возникает ошибка, и в этом случае пользователю рекомендуется вызывать любой API получения интерактивных маркеров (например: acquireTokenByCode()).

clearCache()

Очистите кэш

getAuthCodeUrl(AuthorizationUrlRequest)

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

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

getLogger()

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

getTokenCache()

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

setLogger(Logger)

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

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

ConfidentialClientApplication(Configuration)

Конструктор для КонфиденциальнойClientApplication

Обязательные атрибуты в объекте Configuration:

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

В Azure AD центр — это URL-адрес формы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}/tfp/{tenant}/{policyName}/ Полная функция B2C будет доступна в этой библиотеке в будущих версиях.

new ConfidentialClientApplication(configuration: Configuration)

Параметры

configuration
Configuration

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

acquireTokenByClientCredential(ClientCredentialRequest)

Получает маркеры от центра приложения (а не для конечного пользователя).

function acquireTokenByClientCredential(request: ClientCredentialRequest): Promise<null | AuthenticationResult>

Параметры

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

Promise<null | AuthenticationResult>

acquireTokenOnBehalfOf(OnBehalfOfRequest)

Получает маркеры от центра приложения.

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

Текущее приложение среднего уровня не имеет взаимодействия с пользователем для получения согласия. Узнайте, как получить согласие для вашего приложения среднего уровня из этой статьи. https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application

function acquireTokenOnBehalfOf(request: OnBehalfOfRequest): Promise<null | AuthenticationResult>

Параметры

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

Promise<null | AuthenticationResult>

SetAppTokenProvider(IAppTokenProvider)

Эта точка расширяемости работает только для потока client_credential, т. е. полученияTokenByClientCredential и предназначена для Azure SDK для повышения поддержки управляемых удостоверений.

function SetAppTokenProvider(provider: IAppTokenProvider)

Параметры

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

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

acquireTokenSilent(SilentFlowRequest)

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

Этот API ожидает, что пользователь предоставит объект учетной записи и просматривает кэш, чтобы получить маркер при наличии. Кроме того, существует необязательный логический параметр forceRefresh, который пользователь может отправить для обхода кэша для access_token и id_token. Если срок действия refresh_token истек или не найден, возникает ошибка, и в этом случае пользователю рекомендуется вызывать любой API получения интерактивных маркеров (например: acquireTokenByCode()).

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

Параметры

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

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

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