CustomAuthPublicClientApplication class

扩展

PublicClientApplication

方法

create(CustomAuthConfiguration)

使用给定的配置和控制器创建 PublicClientApplication 的新实例以启动本机身份验证流

getCurrentAccount(CustomAuthActionInputs)

从浏览器缓存中获取当前帐户。

resetPassword(ResetPasswordInputs)

启动重置密码流。 此方法导致触发额外操作(提交代码)以完成重置密码。 如果引发任何异常,请创建包含错误详细信息的结果。

signIn(SignInInputs)

启动登录流。 此方法会导致登录完成或完成登录所需的额外操作(密码、代码等)。 如果引发任何异常,请创建包含错误详细信息的结果。

signUp(SignUpInputs)

启动注册流。 此方法会导致注册完成或完成注册所需的额外操作(密码、代码等)。 如果引发任何异常,请创建包含错误详细信息的结果。

继承的方法

acquireTokenByCode(AuthorizationCodeRequest)

此函数从 eSTS 令牌终结点兑换授权代码(作为代码传递)。 应使用机密客户端获取此授权代码来获取spa_code。 对于正常授权代码获取和兑换,此 API 并未进行缩进。

兑换此授权代码不需要 PKCE,因为它是由机密客户端获取的。

acquireTokenPopup(PopupRequest)

当想要通过打开用户的浏览器中的弹出窗口获取 API 的access_token时使用

acquireTokenRedirect(RedirectRequest)

当希望通过将用户的浏览器窗口重定向到授权终结点来获取 API 的access_token时使用。 此函数将重定向页面,因此此函数后面的任何代码都不会执行。

重要提示:不建议使用依赖于 Promise 解析的代码。 此函数将从当前浏览器窗口导航。 它当前返回 Promise,以反映此函数中运行的代码的异步性质。

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">>)

使用 AuthenticationResult 对象中的令牌和帐户冻结缓存

initialize(InitializeApplicationRequest)

初始值设定项函数执行异步启动任务,例如连接到 WAM 扩展

initializeWrapperLibrary(WrapperSKU, string)

包装库 (Angular & React) 调用,以设置传递到遥测、记录器等的 SKU 和版本。

loginPopup(PopupRequest)

在用户浏览器中打开弹出窗口来启动登录过程时使用

loginRedirect(RedirectRequest)

通过将用户的浏览器重定向到授权终结点来启动登录过程时使用。 此函数将重定向页面,因此此函数后面的任何代码都不会执行。

重要提示:不建议使用依赖于 Promise 解析的代码。 此函数将从当前浏览器窗口导航。 它当前返回 Promise,以反映此函数中运行的代码的异步性质。

logout(EndSessionRequest)

弃用的注销函数。 请改用 logoutRedirect 或 logoutPopup

logoutPopup(EndSessionPopupRequest)

清除当前用户的本地缓存,然后打开一个弹出窗口,提示用户注销服务器

logoutRedirect(EndSessionRequest)

用于注销当前用户,并将用户重定向到 postLogoutRedirectUri。 默认行为是将用户重定向到 window.location.href

removeEventCallback(string)

从回调数组中删除具有提供的 ID 的回调

removePerformanceCallback(string)

删除向 addPerformanceCallback 注册的回调。

setActiveAccount(null | AccountInfo)

设置要用作活动帐户的帐户。 如果未将帐户传递给 acquireToken API,则 MSAL 将使用此活动帐户。

setLogger(Logger)

将配置中的默认记录器集替换为新的记录器以及新配置

setNavigationClient(INavigationClient)

设置导航客户端

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

此函数使用隐藏的 iframe 从 eSTS 提取授权代码。 在某些情况下,这可能不起作用:

  • 使用智能跟踪防护形式的任何浏览器
  • 如果没有与服务建立的会话

在这些情况下,必须在弹出窗口或完整帧重定向内完成请求。

对于需要交互的情况,不能发送包含 prompt=none 的请求。

如果刷新令牌已过期,则可以使用此函数以无提示方式提取一组新的令牌,前提是服务器上的会话仍然存在。

方法详细信息

create(CustomAuthConfiguration)

使用给定的配置和控制器创建 PublicClientApplication 的新实例以启动本机身份验证流

static function create(config: CustomAuthConfiguration): Promise<ICustomAuthPublicClientApplication>

参数

config
CustomAuthConfiguration

PublicClientApplication 实例的配置对象

返回

  • 解析为 CustomAuthPublicClientApplication 实例的承诺

getCurrentAccount(CustomAuthActionInputs)

从浏览器缓存中获取当前帐户。

function getCurrentAccount(accountRetrievalInputs?: CustomAuthActionInputs): GetAccountResult

参数

accountRetrievalInputs

CustomAuthActionInputs

返回

  • 获取帐户操作的结果

resetPassword(ResetPasswordInputs)

启动重置密码流。 此方法导致触发额外操作(提交代码)以完成重置密码。 如果引发任何异常,请创建包含错误详细信息的结果。

function resetPassword(resetPasswordInputs: ResetPasswordInputs): Promise<ResetPasswordStartResult>

参数

resetPasswordInputs
ResetPasswordInputs

重置密码流的输入

返回

  • 解析为 ResetPasswordStartResult 的承诺

signIn(SignInInputs)

启动登录流。 此方法会导致登录完成或完成登录所需的额外操作(密码、代码等)。 如果引发任何异常,请创建包含错误详细信息的结果。

function signIn(signInInputs: SignInInputs): Promise<SignInResult>

参数

signInInputs
SignInInputs

登录流的输入

返回

Promise<SignInResult>

  • 解析为 SignInResult 的承诺

signUp(SignUpInputs)

启动注册流。 此方法会导致注册完成或完成注册所需的额外操作(密码、代码等)。 如果引发任何异常,请创建包含错误详细信息的结果。

function signUp(signUpInputs: SignUpInputs): Promise<SignUpResult>

参数

signUpInputs
SignUpInputs

返回

Promise<SignUpResult>

  • 解析为 SignUpResult 的承诺

继承的方法详细信息

acquireTokenByCode(AuthorizationCodeRequest)

此函数从 eSTS 令牌终结点兑换授权代码(作为代码传递)。 应使用机密客户端获取此授权代码来获取spa_code。 对于正常授权代码获取和兑换,此 API 并未进行缩进。

兑换此授权代码不需要 PKCE,因为它是由机密客户端获取的。

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

参数

request

AuthorizationCodeRequest

AuthorizationCodeRequest

返回

Promise<AuthenticationResult>

如果引发错误,则此函数完成或拒绝的承诺。

继承自 PublicClientApplication.acquireTokenByCode

acquireTokenPopup(PopupRequest)

当想要通过打开用户的浏览器中的弹出窗口获取 API 的access_token时使用

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

参数

request

PopupRequest

返回

Promise<AuthenticationResult>

如果引发错误,则此函数完成或拒绝的承诺。

继承自 PublicClientApplication.acquireTokenPopup

acquireTokenRedirect(RedirectRequest)

当希望通过将用户的浏览器窗口重定向到授权终结点来获取 API 的access_token时使用。 此函数将重定向页面,因此此函数后面的任何代码都不会执行。

重要提示:不建议使用依赖于 Promise 解析的代码。 此函数将从当前浏览器窗口导航。 它当前返回 Promise,以反映此函数中运行的代码的异步性质。

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

参数

request

RedirectRequest

返回

Promise<void>

继承自 PublicClientApplication.acquireTokenRedirect

acquireTokenSilent(SilentRequest)

以无提示方式获取给定范围集的访问令牌。 如果发出并行请求,则返回当前处理承诺。

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

参数

silentRequest

SilentRequest

返回

Promise<AuthenticationResult>

继承自 PublicClientApplication.acquireTokenSilent

addEventCallback(EventCallbackFunction, EventType[])

将事件回调添加到数组

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

参数

callback

EventCallbackFunction

eventTypes

EventType[]

返回

null | string

继承自 PublicClientApplication.addEventCallback

addPerformanceCallback(PerformanceCallbackFunction)

注册回调以接收性能事件。

function addPerformanceCallback(callback: PerformanceCallbackFunction): string

参数

返回

string

继承自 PublicClientApplication.addPerformanceCallback

clearCache(ClearCacheRequest)

从浏览器缓存中清除令牌和帐户。

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

参数

logoutRequest

ClearCacheRequest

返回

Promise<void>

继承自 PublicClientApplication.clearCache

createPublicClientApplication(Configuration)

创建 StandardController 并将其传递给 PublicClientApplication

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

参数

configuration

Configuration

{Configuration}

返回

Promise<IPublicClientApplication>

继承自 PublicClientApplication.createPublicClientApplication

disableAccountStorageEvents()

删除在不同浏览器选项卡或窗口中从 localstorage 添加或删除用户帐户时发出事件的事件侦听器

function disableAccountStorageEvents()

继承自 PublicClientApplication.disableAccountStorageEvents

enableAccountStorageEvents()

添加在不同浏览器选项卡或窗口中从 localstorage 添加或删除用户帐户时发出事件的事件侦听器

function enableAccountStorageEvents()

继承自 PublicClientApplication.enableAccountStorageEvents

getAccount(AccountFilter)

返回缓存中找到的第一个与传入的帐户筛选器匹配的帐户。

function getAccount(accountFilter: AccountFilter): null | AccountInfo

参数

accountFilter
AccountFilter

返回

null | AccountInfo

如果找不到任何帐户,则缓存中找到的第一个帐户与提供的筛选器匹配,或为 null。

继承自 PublicClientApplication.getAccount

getAccountByHomeId(string)

警告

现已弃用此 API。

  • Use getAccount instead

返回与 homeAccountId 匹配的已登录帐户。 (在成功登录时创建帐户对象),如果未找到匹配的帐户,则为 null

function getAccountByHomeId(homeAccountId: string): null | AccountInfo

参数

homeAccountId

string

返回

null | AccountInfo

存储在 MSAL 中的帐户对象

继承自 PublicClientApplication.getAccountByHomeId

getAccountByLocalId(string)

警告

现已弃用此 API。

  • Use getAccount instead

返回与 localAccountId 匹配的已登录帐户。 (在成功登录时创建帐户对象),如果未找到匹配的帐户,则为 null

function getAccountByLocalId(localId: string): null | AccountInfo

参数

localId

string

返回

null | AccountInfo

存储在 MSAL 中的帐户对象

继承自 PublicClientApplication.getAccountByLocalId

getAccountByUsername(string)

警告

现已弃用此 API。

  • Use getAccount instead

返回与用户名匹配的已登录帐户。 (在成功登录时创建帐户对象),如果未找到匹配的帐户,则为 null。 此 API 为方便起见提供,但 getAccountById 应用于最佳可靠性

function getAccountByUsername(userName: string): null | AccountInfo

参数

userName

string

返回

null | AccountInfo

存储在 MSAL 中的帐户对象

继承自 PublicClientApplication.getAccountByUsername

getActiveAccount()

获取当前活动帐户

function getActiveAccount(): null | AccountInfo

返回

null | AccountInfo

继承自 PublicClientApplication.getActiveAccount

getAllAccounts(AccountFilter)

返回缓存中与可选筛选器匹配的所有帐户。 如果未提供筛选器,则返回所有帐户。

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

参数

accountFilter
AccountFilter

(可选) 筛选器以缩小返回的帐户范围

返回

缓存中的 AccountInfo 对象的数组

继承自 PublicClientApplication.getAllAccounts

getLogger()

返回记录器实例

function getLogger(): Logger

返回

继承自 PublicClientApplication.getLogger

getTokenCache()

获取应用程序的令牌缓存。

function getTokenCache(): ITokenCache

返回

ITokenCache

继承自 PublicClientApplication.getTokenCache

handleRedirectPromise(string)

事件处理程序函数,允许用户在重定向流期间加载 PublicClientApplication 对象后触发事件。 应在重定向身份验证流所涉及的所有页面加载上调用此项。

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

参数

hash

string

要处理的哈希。 默认为 window.location.hash 的当前值。 仅当要处理的响应未包含在当前值中时,才需要显式提供。

返回

Promise<null | AuthenticationResult>

令牌响应或 null。 如果返回值为 null,则未检测到身份验证重定向。

继承自 PublicClientApplication.handleRedirectPromise

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

使用 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>

继承自 PublicClientApplication.hydrateCache

initialize(InitializeApplicationRequest)

初始值设定项函数执行异步启动任务,例如连接到 WAM 扩展

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

参数

request

InitializeApplicationRequest

{?InitializeApplicationRequest}

返回

Promise<void>

继承自 PublicClientApplication.initialize

initializeWrapperLibrary(WrapperSKU, string)

包装库 (Angular & React) 调用,以设置传递到遥测、记录器等的 SKU 和版本。

function initializeWrapperLibrary(sku: WrapperSKU, version: string)

参数

sku

WrapperSKU

version

string

继承自 PublicClientApplication.initializeWrapperLibrary

loginPopup(PopupRequest)

在用户浏览器中打开弹出窗口来启动登录过程时使用

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

参数

request

PopupRequest

返回

Promise<AuthenticationResult>

如果引发错误,则此函数完成或拒绝的承诺。

继承自 PublicClientApplication.loginPopup

loginRedirect(RedirectRequest)

通过将用户的浏览器重定向到授权终结点来启动登录过程时使用。 此函数将重定向页面,因此此函数后面的任何代码都不会执行。

重要提示:不建议使用依赖于 Promise 解析的代码。 此函数将从当前浏览器窗口导航。 它当前返回 Promise,以反映此函数中运行的代码的异步性质。

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

参数

request

RedirectRequest

返回

Promise<void>

继承自 PublicClientApplication.loginRedirect

logout(EndSessionRequest)

警告

现已弃用此 API。

弃用的注销函数。 请改用 logoutRedirect 或 logoutPopup

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

参数

logoutRequest

EndSessionRequest

返回

Promise<void>

继承自 PublicClientApplication.logout

logoutPopup(EndSessionPopupRequest)

清除当前用户的本地缓存,然后打开一个弹出窗口,提示用户注销服务器

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

参数

logoutRequest

EndSessionPopupRequest

返回

Promise<void>

继承自 PublicClientApplication.logoutPopup

logoutRedirect(EndSessionRequest)

用于注销当前用户,并将用户重定向到 postLogoutRedirectUri。 默认行为是将用户重定向到 window.location.href

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

参数

logoutRequest

EndSessionRequest

返回

Promise<void>

继承自 PublicClientApplication.logoutRedirect

removeEventCallback(string)

从回调数组中删除具有提供的 ID 的回调

function removeEventCallback(callbackId: string)

参数

callbackId

string

继承自 PublicClientApplication.removeEventCallback

removePerformanceCallback(string)

删除向 addPerformanceCallback 注册的回调。

function removePerformanceCallback(callbackId: string): boolean

参数

callbackId

string

返回

boolean

继承自 PublicClientApplication.removePerformanceCallback

setActiveAccount(null | AccountInfo)

设置要用作活动帐户的帐户。 如果未将帐户传递给 acquireToken API,则 MSAL 将使用此活动帐户。

function setActiveAccount(account: null | AccountInfo)

参数

account

null | AccountInfo

继承自 PublicClientApplication.setActiveAccount

setLogger(Logger)

将配置中的默认记录器集替换为新的记录器以及新配置

function setLogger(logger: Logger)

参数

logger
Logger

记录器实例

继承自 PublicClientApplication.setLogger

setNavigationClient(INavigationClient)

设置导航客户端

function setNavigationClient(navigationClient: INavigationClient)

参数

navigationClient

INavigationClient

继承自 PublicClientApplication.setNavigationClient

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

此函数使用隐藏的 iframe 从 eSTS 提取授权代码。 在某些情况下,这可能不起作用:

  • 使用智能跟踪防护形式的任何浏览器
  • 如果没有与服务建立的会话

在这些情况下,必须在弹出窗口或完整帧重定向内完成请求。

对于需要交互的情况,不能发送包含 prompt=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

返回

Promise<AuthenticationResult>

如果引发错误,则此函数完成或拒绝的承诺。

继承自 PublicClientApplication.ssoSilent