PublicClientApplication class
Класс PublicClientApplication — это объект, предоставляемый библиотекой для выполнения функций проверки подлинности и авторизации в одностраничных приложениях для получения маркеров JWT, как описано в потоке кода авторизации OAuth 2.0 с спецификацией PKCE.
Конструкторы
| Public |
Методы
| acquire |
Эта функция активирует код авторизации (переданный как код) из конечной точки маркера eSTS. Этот код авторизации должен быть получен на стороне сервера с помощью конфиденциального клиента для получения spa_code. Этот API не является отступом для обычного получения и активации кода авторизации. Активация этого кода авторизации не требует PKCE, так как она была приобретена конфиденциальным клиентом. |
| acquire |
Используйте, когда вы хотите получить access_token для API, открыв всплывающее окно в браузере пользователя |
| acquire |
Используйте, если вы хотите получить access_token для API, перенаправив окно браузера пользователя в конечную точку авторизации. Эта функция перенаправляет страницу, поэтому любой код, следующий за этой функцией, не будет выполняться. ВАЖНО. Не рекомендуется иметь код, зависящий от разрешения обещания. Эта функция будет переходить от текущего окна браузера. В настоящее время он возвращает обещание, чтобы отразить асинхронную природу кода, выполняемого в этой функции. |
| acquire |
Автоматическое получение маркера доступа для заданного набора областей. Возвращает обещание обработки, если выполняются параллельные запросы. |
| add |
Добавление обратных вызовов событий в массив |
| add |
Регистрирует обратный вызов для получения событий производительности. |
| clear |
Очищает маркеры и учетную запись из кэша браузера. |
| create |
Создает StandardController и передает его в PublicClientApplication |
| disable |
Удаляет прослушиватель событий, который выдает событие при добавлении или удалении учетной записи пользователя из localstorage на другой вкладке браузера или окне |
| enable |
Добавляет прослушиватель событий, который выдает событие при добавлении или удалении учетной записи пользователя из localstorage на другой вкладке браузера или окне |
| get |
Возвращает первую учетную запись, найденную в кэше, которая соответствует фильтру учетной записи, переданной. |
| get |
Возвращает входную учетную запись, соответствующую homeAccountId. (объект учетной записи создается во время успешного входа) или null, если учетная запись не найдена. |
| get |
Возвращает вошедшего в систему учетную запись, соответствующую localAccountId. (объект учетной записи создается во время успешного входа) или null, если учетная запись не найдена. |
| get |
Возвращает имя пользователя, соответствующее учетной записи для входа. (объект учетной записи создается во время успешного входа) или null, если учетная запись не найдена. Этот API предоставляется для удобства, но getAccountById должен использоваться для обеспечения оптимальной надежности. |
| get |
Возвращает текущую активную учетную запись |
| get |
Возвращает все учетные записи в кэше, соответствующие необязательному фильтру. Если фильтр не указан, возвращаются все учетные записи. |
| get |
Возвращает экземпляр средства ведения журнала |
| get |
Возвращает кэш маркеров для приложения. |
| handle |
Функция обработчика событий, которая позволяет пользователям запускать события после загрузки объекта PublicClientApplication во время потоков перенаправления. Это должно вызываться на всех загрузках страниц, участвующих в потоках проверки подлинности перенаправления. |
| hydrate |
Кэш Hydrates с маркерами и учетной записью в объекте AuthenticationResult |
| initialize(Initialize |
Функция инициализатора для выполнения асинхронных задач запуска, таких как подключение к расширению WAM |
| initialize |
Вызывается библиотеками-оболочками (Angular и React), чтобы задать номер SKU и версия, передаваемые телеметрии, средству ведения журнала и т. д. |
| login |
Использование при инициировании процесса входа с помощью всплывающего окна в браузере пользователя |
| login |
Используйте при инициировании процесса входа, перенаправив браузер пользователя в конечную точку авторизации. Эта функция перенаправляет страницу, поэтому любой код, следующий за этой функцией, не будет выполняться. ВАЖНО. Не рекомендуется иметь код, зависящий от разрешения обещания. Эта функция будет переходить от текущего окна браузера. В настоящее время он возвращает обещание, чтобы отразить асинхронную природу кода, выполняемого в этой функции. |
| logout(End |
Нерекомендуемая функция выхода. Вместо этого используйте logoutRedirect или logoutPopup |
| logout |
Очищает локальный кэш для текущего пользователя, а затем открывает всплывающее окно, предлагающее пользователю выйти из сервера. |
| logout |
Используется для выхода текущего пользователя и перенаправления пользователя в postLogoutRedirectUri.
Поведение по умолчанию — перенаправление пользователя в |
| remove |
Удаляет обратный вызов с предоставленным идентификатором из массива обратного вызова |
| remove |
Удаляет обратный вызов, зарегистрированный с помощью addPerformanceCallback. |
| set |
Задает учетную запись, используемую в качестве активной учетной записи. Если учетная запись не передается в API-интерфейсы acquireToken, MSAL будет использовать эту активную учетную запись. |
| set |
Заменяет набор средств ведения журнала по умолчанию в конфигурациях новым средство ведения журнала новыми конфигурациями. |
| set |
Задает клиент навигации |
| sso |
Эта функция использует скрытый 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>
Параметры
Возвращаемое значение
Promise<AuthenticationResult>
Обещание, которое выполняется при завершении этой функции или отклонено, если возникла ошибка.
acquireTokenPopup(PopupRequest)
Используйте, когда вы хотите получить access_token для API, открыв всплывающее окно в браузере пользователя
function acquireTokenPopup(request: PopupRequest): Promise<AuthenticationResult>
Параметры
- request
- PopupRequest
Возвращаемое значение
Promise<AuthenticationResult>
Обещание, которое выполняется при завершении этой функции или отклонено, если возникла ошибка.
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
Возвращаемое значение
Promise<AuthenticationResult>
- обещание, которое выполняется при завершении этой функции или отклонено, если возникла ошибка. Возвращает объект AuthenticationResult
addEventCallback(EventCallbackFunction, EventType[])
Добавление обратных вызовов событий в массив
function addEventCallback(callback: EventCallbackFunction, eventTypes?: EventType[]): null | string
Параметры
- callback
- EventCallbackFunction
- eventTypes
Возвращаемое значение
null | string
addPerformanceCallback(PerformanceCallbackFunction)
Регистрирует обратный вызов для получения событий производительности.
function addPerformanceCallback(callback: PerformanceCallbackFunction): string
Параметры
- callback
- PerformanceCallbackFunction
Возвращаемое значение
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}
Возвращаемое значение
Promise<IPublicClientApplication>
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>
Параметры
- result
- AuthenticationResult
- 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)
Параметры
- sku
- WrapperSKU
- version
-
string
loginPopup(PopupRequest)
Использование при инициировании процесса входа с помощью всплывающего окна в браузере пользователя
function loginPopup(request?: PopupRequest): Promise<AuthenticationResult>
Параметры
- request
- PopupRequest
Возвращаемое значение
Promise<AuthenticationResult>
Обещание, которое выполняется при завершении этой функции или отклонено, если возникла ошибка.
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">>
Возвращаемое значение
Promise<AuthenticationResult>
Обещание, которое выполняется при завершении этой функции или отклонено, если возникла ошибка.