PublicClientApplication class

Класс PublicClientApplication — это объект, предоставляемый библиотекой для выполнения функций проверки подлинности и авторизации в одностраничных приложениях для получения маркеров JWT, как описано в потоке кода авторизации OAuth 2.0 с спецификацией PKCE.

Методы

acquireTokenByCode(AuthorizationCodeRequest)

Эта функция активирует код авторизации (переданный как код) из конечной точки маркера eSTS. Этот код авторизации должен быть получен на стороне сервера с помощью конфиденциального клиента для получения spa_code. Этот API не является отступом для обычного получения и активации кода авторизации.

Активация этого кода авторизации не требует PKCE, так как она была приобретена конфиденциальным клиентом.

acquireTokenPopup(PopupRequest)

Используйте, когда вы хотите получить access_token для API, открыв всплывающее окно в браузере пользователя

acquireTokenRedirect(RedirectRequest)

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

ВАЖНО. Не рекомендуется иметь код, зависящий от разрешения обещания. Эта функция будет переходить от текущего окна браузера. В настоящее время он возвращает обещание, чтобы отразить асинхронную природу кода, выполняемого в этой функции.

acquireTokenSilent(SilentRequest)

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

addEventCallback(EventCallbackFunction, EventType[])

Добавление обратных вызовов событий в массив

addPerformanceCallback(PerformanceCallbackFunction)

Регистрирует обратный вызов для получения событий производительности.

clearCache(ClearCacheRequest)

Очищает маркеры и учетную запись из кэша браузера.

createPublicClientApplication(Configuration)

Создает StandardController и передает его в PublicClientApplication

disableAccountStorageEvents()

Удаляет прослушиватель событий, который выдает событие при добавлении или удалении учетной записи пользователя из localstorage на другой вкладке браузера или окне

enableAccountStorageEvents()

Добавляет прослушиватель событий, который выдает событие при добавлении или удалении учетной записи пользователя из localstorage на другой вкладке браузера или окне

getAccount(AccountFilter)

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

getAccountByHomeId(string)

Возвращает входную учетную запись, соответствующую homeAccountId. (объект учетной записи создается во время успешного входа) или null, если учетная запись не найдена.

getAccountByLocalId(string)

Возвращает вошедшего в систему учетную запись, соответствующую localAccountId. (объект учетной записи создается во время успешного входа) или null, если учетная запись не найдена.

getAccountByUsername(string)

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

getActiveAccount()

Возвращает текущую активную учетную запись

getAllAccounts(AccountFilter)

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

getLogger()

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

getTokenCache()

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

handleRedirectPromise(string)

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

hydrateCache(AuthenticationResult, PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)

Кэш Hydrates с маркерами и учетной записью в объекте AuthenticationResult

initialize(InitializeApplicationRequest)

Функция инициализатора для выполнения асинхронных задач запуска, таких как подключение к расширению WAM

initializeWrapperLibrary(WrapperSKU, string)

Вызывается библиотеками-оболочками (Angular и React), чтобы задать номер SKU и версия, передаваемые телеметрии, средству ведения журнала и т. д.

loginPopup(PopupRequest)

Использование при инициировании процесса входа с помощью всплывающего окна в браузере пользователя

loginRedirect(RedirectRequest)

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

ВАЖНО. Не рекомендуется иметь код, зависящий от разрешения обещания. Эта функция будет переходить от текущего окна браузера. В настоящее время он возвращает обещание, чтобы отразить асинхронную природу кода, выполняемого в этой функции.

logout(EndSessionRequest)

Нерекомендуемая функция выхода. Вместо этого используйте logoutRedirect или logoutPopup

logoutPopup(EndSessionPopupRequest)

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

logoutRedirect(EndSessionRequest)

Используется для выхода текущего пользователя и перенаправления пользователя в postLogoutRedirectUri. Поведение по умолчанию — перенаправление пользователя в window.location.href.

removeEventCallback(string)

Удаляет обратный вызов с предоставленным идентификатором из массива обратного вызова

removePerformanceCallback(string)

Удаляет обратный вызов, зарегистрированный с помощью addPerformanceCallback.

setActiveAccount(null | AccountInfo)

Задает учетную запись, используемую в качестве активной учетной записи. Если учетная запись не передается в API-интерфейсы acquireToken, MSAL будет использовать эту активную учетную запись.

setLogger(Logger)

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

setNavigationClient(INavigationClient)

Задает клиент навигации

ssoSilent(Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)

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

  • Любой браузер с помощью формы интеллектуального предотвращения отслеживания
  • Если в службе нет установленного сеанса

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

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

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

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

PublicClientApplication(Configuration, IController)

new PublicClientApplication(configuration: Configuration, controller?: IController)

Параметры

configuration
Configuration

Объект для экземпляра MSAL PublicClientApplication

controller
IController

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

acquireTokenByCode(AuthorizationCodeRequest)

Эта функция активирует код авторизации (переданный как код) из конечной точки маркера eSTS. Этот код авторизации должен быть получен на стороне сервера с помощью конфиденциального клиента для получения spa_code. Этот API не является отступом для обычного получения и активации кода авторизации.

Активация этого кода авторизации не требует PKCE, так как она была приобретена конфиденциальным клиентом.

function acquireTokenByCode(request: AuthorizationCodeRequest): Promise<AuthenticationResult>

Параметры

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

Обещание, которое выполняется при завершении этой функции или отклонено, если возникла ошибка.

acquireTokenPopup(PopupRequest)

Используйте, когда вы хотите получить access_token для API, открыв всплывающее окно в браузере пользователя

function acquireTokenPopup(request: PopupRequest): Promise<AuthenticationResult>

Параметры

request
PopupRequest

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

Обещание, которое выполняется при завершении этой функции или отклонено, если возникла ошибка.

acquireTokenRedirect(RedirectRequest)

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

ВАЖНО. Не рекомендуется иметь код, зависящий от разрешения обещания. Эта функция будет переходить от текущего окна браузера. В настоящее время он возвращает обещание, чтобы отразить асинхронную природу кода, выполняемого в этой функции.

function acquireTokenRedirect(request: RedirectRequest): Promise<void>

Параметры

request
RedirectRequest

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

Promise<void>

acquireTokenSilent(SilentRequest)

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

function acquireTokenSilent(silentRequest: SilentRequest): Promise<AuthenticationResult>

Параметры

silentRequest
SilentRequest

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

  • обещание, которое выполняется при завершении этой функции или отклонено, если возникла ошибка. Возвращает объект AuthenticationResult

addEventCallback(EventCallbackFunction, EventType[])

Добавление обратных вызовов событий в массив

function addEventCallback(callback: EventCallbackFunction, eventTypes?: EventType[]): null | string

Параметры

eventTypes

EventType[]

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

null | string

addPerformanceCallback(PerformanceCallbackFunction)

Регистрирует обратный вызов для получения событий производительности.

function addPerformanceCallback(callback: PerformanceCallbackFunction): string

Параметры

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

string

clearCache(ClearCacheRequest)

Очищает маркеры и учетную запись из кэша браузера.

function clearCache(logoutRequest?: ClearCacheRequest): Promise<void>

Параметры

logoutRequest
ClearCacheRequest

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

Promise<void>

createPublicClientApplication(Configuration)

Создает StandardController и передает его в PublicClientApplication

static function createPublicClientApplication(configuration: Configuration): Promise<IPublicClientApplication>

Параметры

configuration
Configuration

{Configuration}

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

disableAccountStorageEvents()

Удаляет прослушиватель событий, который выдает событие при добавлении или удалении учетной записи пользователя из localstorage на другой вкладке браузера или окне

function disableAccountStorageEvents()

enableAccountStorageEvents()

Добавляет прослушиватель событий, который выдает событие при добавлении или удалении учетной записи пользователя из localstorage на другой вкладке браузера или окне

function enableAccountStorageEvents()

getAccount(AccountFilter)

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

function getAccount(accountFilter: AccountFilter): null | AccountInfo

Параметры

accountFilter
AccountFilter

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

null | AccountInfo

Первая учетная запись, найденная в кэше, соответствующая предоставленному фильтру или null, если учетная запись не найдена.

getAccountByHomeId(string)

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

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

  • Use getAccount instead

Возвращает входную учетную запись, соответствующую homeAccountId. (объект учетной записи создается во время успешного входа) или null, если учетная запись не найдена.

function getAccountByHomeId(homeAccountId: string): null | AccountInfo

Параметры

homeAccountId

string

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

null | AccountInfo

Объект учетной записи, хранящийся в MSAL

getAccountByLocalId(string)

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

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

  • Use getAccount instead

Возвращает вошедшего в систему учетную запись, соответствующую localAccountId. (объект учетной записи создается во время успешного входа) или null, если учетная запись не найдена.

function getAccountByLocalId(localId: string): null | AccountInfo

Параметры

localId

string

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

null | AccountInfo

Объект учетной записи, хранящийся в MSAL

getAccountByUsername(string)

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

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

  • Use getAccount instead

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

function getAccountByUsername(userName: string): null | AccountInfo

Параметры

userName

string

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

null | AccountInfo

Объект учетной записи, хранящийся в MSAL

getActiveAccount()

Возвращает текущую активную учетную запись

function getActiveAccount(): null | AccountInfo

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

null | AccountInfo

getAllAccounts(AccountFilter)

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

function getAllAccounts(accountFilter?: AccountFilter): AccountInfo[]

Параметры

accountFilter
AccountFilter

Фильтр (необязательно) для сузки возвращаемых учетных записей

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

Массив объектов AccountInfo в кэше

getLogger()

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

function getLogger(): Logger

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

getTokenCache()

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

function getTokenCache(): ITokenCache

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

handleRedirectPromise(string)

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

function handleRedirectPromise(hash?: string): Promise<null | AuthenticationResult>

Параметры

hash

string

Хэш для обработки. По умолчанию используется текущее значение window.location.hash. Необходимо явно указать только в том случае, если обрабатываемый ответ не содержится в текущем значении.

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

Promise<null | AuthenticationResult>

Ответ маркера или значение NULL. Если возвращаемое значение равно NULL, перенаправление проверки подлинности не было обнаружено.

hydrateCache(AuthenticationResult, PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)

Кэш Hydrates с маркерами и учетной записью в объекте AuthenticationResult

function hydrateCache(result: AuthenticationResult, request: PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>): Promise<void>

Параметры

request

PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>

Объект запроса, используемый для получения AuthenticationResult

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

Promise<void>

initialize(InitializeApplicationRequest)

Функция инициализатора для выполнения асинхронных задач запуска, таких как подключение к расширению WAM

function initialize(request?: InitializeApplicationRequest): Promise<void>

Параметры

request
InitializeApplicationRequest

{? InitializeApplicationRequest}

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

Promise<void>

initializeWrapperLibrary(WrapperSKU, string)

Вызывается библиотеками-оболочками (Angular и React), чтобы задать номер SKU и версия, передаваемые телеметрии, средству ведения журнала и т. д.

function initializeWrapperLibrary(sku: WrapperSKU, version: string)

Параметры

version

string

loginPopup(PopupRequest)

Использование при инициировании процесса входа с помощью всплывающего окна в браузере пользователя

function loginPopup(request?: PopupRequest): Promise<AuthenticationResult>

Параметры

request
PopupRequest

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

Обещание, которое выполняется при завершении этой функции или отклонено, если возникла ошибка.

loginRedirect(RedirectRequest)

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

ВАЖНО. Не рекомендуется иметь код, зависящий от разрешения обещания. Эта функция будет переходить от текущего окна браузера. В настоящее время он возвращает обещание, чтобы отразить асинхронную природу кода, выполняемого в этой функции.

function loginRedirect(request?: RedirectRequest): Promise<void>

Параметры

request
RedirectRequest

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

Promise<void>

logout(EndSessionRequest)

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

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

Нерекомендуемая функция выхода. Вместо этого используйте logoutRedirect или logoutPopup

function logout(logoutRequest?: EndSessionRequest): Promise<void>

Параметры

logoutRequest
EndSessionRequest

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

Promise<void>

logoutPopup(EndSessionPopupRequest)

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

function logoutPopup(logoutRequest?: EndSessionPopupRequest): Promise<void>

Параметры

logoutRequest
EndSessionPopupRequest

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

Promise<void>

logoutRedirect(EndSessionRequest)

Используется для выхода текущего пользователя и перенаправления пользователя в postLogoutRedirectUri. Поведение по умолчанию — перенаправление пользователя в window.location.href.

function logoutRedirect(logoutRequest?: EndSessionRequest): Promise<void>

Параметры

logoutRequest
EndSessionRequest

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

Promise<void>

removeEventCallback(string)

Удаляет обратный вызов с предоставленным идентификатором из массива обратного вызова

function removeEventCallback(callbackId: string)

Параметры

callbackId

string

removePerformanceCallback(string)

Удаляет обратный вызов, зарегистрированный с помощью addPerformanceCallback.

function removePerformanceCallback(callbackId: string): boolean

Параметры

callbackId

string

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

boolean

setActiveAccount(null | AccountInfo)

Задает учетную запись, используемую в качестве активной учетной записи. Если учетная запись не передается в API-интерфейсы acquireToken, MSAL будет использовать эту активную учетную запись.

function setActiveAccount(account: null | AccountInfo)

Параметры

account

null | AccountInfo

setLogger(Logger)

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

function setLogger(logger: Logger)

Параметры

logger
Logger

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

setNavigationClient(INavigationClient)

Задает клиент навигации

function setNavigationClient(navigationClient: INavigationClient)

Параметры

navigationClient
INavigationClient

ssoSilent(Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)

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

  • Любой браузер с помощью формы интеллектуального предотвращения отслеживания
  • Если в службе нет установленного сеанса

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

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

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

function ssoSilent(request: Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>): Promise<AuthenticationResult>

Параметры

request

Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>

SsoSilentRequest

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

Обещание, которое выполняется при завершении этой функции или отклонено, если возникла ошибка.