ConfidentialClientApplication class
Этот класс используется для получения маркеров для конфиденциальных клиентских приложений (webApp, webAPI). Конфиденциальные клиентские приложения будут настраивать секреты приложений, сертификаты и утверждения клиента в соответствии с применимыми
- Extends
Конструкторы
| Confidential |
Конструктор для КонфиденциальнойClientApplication Обязательные атрибуты в объекте Configuration:
В Azure AD центр — это URL-адрес формы В Azure B2C центр имеет форму https://{instance}/tfp/{tenant}/{policyName}/ Полная функция B2C будет доступна в этой библиотеке в будущих версиях. |
Методы
| acquire |
Получает маркеры от центра приложения (а не для конечного пользователя). |
| acquire |
Получает маркеры от центра приложения. Используется в сценариях, когда текущее приложение является службой среднего уровня, которая была вызвана маркером, представляющим конечного пользователя. Текущее приложение может использовать маркер (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 |
| Set |
Эта точка расширяемости работает только для потока client_credential, т. е. полученияTokenByClientCredential и предназначена для Azure SDK для повышения поддержки управляемых удостоверений. |
Наследуемые методы
| acquire |
Получает токен, обмениваясь кодом авторизации, полученным на первом шаге потока кода авторизации OAuth2.0.
|
| acquire |
Получает маркер, обмениваясь маркером обновления, предоставленным для нового набора маркеров. Этот API предоставляется только для сценариев, в которых требуется выполнить миграцию из ADAL в MSAL. В противном случае рекомендуется использовать |
| acquire |
Получает маркеры с предоставлением пароля, обмениваясь именем пользователя и паролем клиентских приложений для учетных данных Последняя политика безопасности 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 |
| acquire |
Получает маркер автоматически, когда пользователь указывает учетную запись, для нее запрашивается маркер. Этот API ожидает, что пользователь предоставит объект учетной записи и просматривает кэш, чтобы получить маркер при наличии.
Кроме того, существует необязательный логический параметр forceRefresh, который пользователь может отправить для обхода кэша для access_token и id_token.
Если срок действия refresh_token истек или не найден, возникает ошибка, и в этом случае пользователю рекомендуется вызывать любой API получения интерактивных маркеров (например: |
| clear |
Очистите кэш |
| get |
Создает URL-адрес запроса авторизации, позволяя пользователю вводить учетные данные и давать согласие приложению. URL-адрес предназначен для конечной точки /authorize центра, настроенного в объекте приложения. После ввода учетными данными и согласия пользователя центр отправит ответ на URI перенаправления, отправленный в запросе, и должен содержать код авторизации, который затем можно использовать для получения маркеров с помощью |
| get |
Возвращает экземпляр средства ведения журнала |
| get |
Возвращает кэш маркеров для приложения. |
| set |
Заменяет набор средств ведения журнала по умолчанию в конфигурациях новым средство ведения журнала новыми конфигурациями. |
Сведения о конструкторе
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>
Параметры
- request
- ClientCredentialRequest
Возвращаемое значение
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>
Параметры
- request
- OnBehalfOfRequest
Возвращаемое значение
Promise<null | AuthenticationResult>
SetAppTokenProvider(IAppTokenProvider)
Эта точка расширяемости работает только для потока client_credential, т. е. полученияTokenByClientCredential и предназначена для Azure SDK для повышения поддержки управляемых удостоверений.
function SetAppTokenProvider(provider: IAppTokenProvider)
Параметры
- provider
- IAppTokenProvider
Сведения о наследуемом методе
acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)
Получает токен, обмениваясь кодом авторизации, полученным на первом шаге потока кода авторизации OAuth2.0.
getAuthCodeUrl(AuthorizationCodeUrlRequest) можно использовать для создания URL-адреса для первого шага потока кода авторизации OAuth2.0. Убедитесь, что значения перенаправления и области в AuthorizationCodeUrlRequest и AuthorizationCodeRequest совпадают.
function acquireTokenByCode(request: AuthorizationCodeRequest, authCodePayLoad?: AuthorizationCodePayload): Promise<AuthenticationResult>
Параметры
- request
- AuthorizationCodeRequest
- authCodePayLoad
- AuthorizationCodePayload
Возвращаемое значение
Promise<AuthenticationResult>
Наследуется отClientApplication.acquireTokenByCode
acquireTokenByRefreshToken(RefreshTokenRequest)
Получает маркер, обмениваясь маркером обновления, предоставленным для нового набора маркеров.
Этот API предоставляется только для сценариев, в которых требуется выполнить миграцию из ADAL в MSAL. В противном случае рекомендуется использовать acquireTokenSilent() для автоматических сценариев. При использовании acquireTokenSilent()MSAL будет обрабатывать кэширование и обновление маркеров автоматически.
function acquireTokenByRefreshToken(request: RefreshTokenRequest): Promise<null | AuthenticationResult>
Параметры
- request
- RefreshTokenRequest
Возвращаемое значение
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>
Параметры
- request
- SilentFlowRequest
Возвращаемое значение
Promise<AuthenticationResult>
Наследуется отClientApplication.acquireTokenSilent
clearCache()
getAuthCodeUrl(AuthorizationUrlRequest)
Создает URL-адрес запроса авторизации, позволяя пользователю вводить учетные данные и давать согласие приложению. URL-адрес предназначен для конечной точки /authorize центра, настроенного в объекте приложения.
После ввода учетными данными и согласия пользователя центр отправит ответ на URI перенаправления, отправленный в запросе, и должен содержать код авторизации, который затем можно использовать для получения маркеров с помощью acquireTokenByCode(AuthorizationCodeRequest).
function getAuthCodeUrl(request: AuthorizationUrlRequest): Promise<string>
Параметры
- request
- AuthorizationUrlRequest
Возвращаемое значение
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