ClientApplication class

所有 ClientApplication 的基抽象类 - 公共和机密

方法

acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)

通过交换从 OAuth2.0 授权代码流的第一步收到的授权代码来获取令牌。

getAuthCodeUrl(AuthorizationCodeUrlRequest) 可用于为 OAuth2.0 授权代码流的第一步创建 URL。 确保 AuthorizationCodeUrlRequest 和 AuthorizationCodeRequest 中的 redirectUri 和作用域的值相同。

acquireTokenByRefreshToken(RefreshTokenRequest)

通过交换为一组新令牌提供的刷新令牌来获取令牌。

仅针对要从 ADAL 迁移到 MSAL 的方案提供此 API。 否则,建议用于 acquireTokenSilent() 无提示方案。 使用 acquireTokenSilent()时,MSAL 将自动处理令牌的缓存和刷新。

acquireTokenByUsernamePassword(UsernamePasswordRequest)

通过交换客户端应用程序用户名和密码获取凭据来获取密码授予的令牌

最新的 OAuth 2.0 安全最佳做法完全禁止授予密码。 有关此建议的更多详细信息,请参阅https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4Microsoft的文档和建议: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)

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

方法详细信息

acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)

通过交换从 OAuth2.0 授权代码流的第一步收到的授权代码来获取令牌。

getAuthCodeUrl(AuthorizationCodeUrlRequest) 可用于为 OAuth2.0 授权代码流的第一步创建 URL。 确保 AuthorizationCodeUrlRequest 和 AuthorizationCodeRequest 中的 redirectUri 和作用域的值相同。

function acquireTokenByCode(request: AuthorizationCodeRequest, authCodePayLoad?: AuthorizationCodePayload): Promise<AuthenticationResult>

参数

authCodePayLoad
AuthorizationCodePayload

返回

acquireTokenByRefreshToken(RefreshTokenRequest)

通过交换为一组新令牌提供的刷新令牌来获取令牌。

仅针对要从 ADAL 迁移到 MSAL 的方案提供此 API。 否则,建议用于 acquireTokenSilent() 无提示方案。 使用 acquireTokenSilent()时,MSAL 将自动处理令牌的缓存和刷新。

function acquireTokenByRefreshToken(request: RefreshTokenRequest): Promise<null | AuthenticationResult>

参数

返回

Promise<null | AuthenticationResult>

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.4Microsoft的文档和建议: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>

acquireTokenSilent(SilentFlowRequest)

当用户指定请求令牌的帐户时,以无提示方式获取令牌。

此 API 要求用户提供帐户对象,并查看缓存以检索令牌(如果存在)。 还有一个可选的“forceRefresh”布尔值,用户可以发送以绕过access_token和id_token的缓存。 如果refresh_token已过期或未找到,将引发错误,指导是让用户调用任何交互式令牌获取 API(例如: acquireTokenByCode())。

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

参数

返回

clearCache()

清除缓存

function clearCache()

getAuthCodeUrl(AuthorizationUrlRequest)

创建授权请求的 URL,让用户输入凭据并同意应用程序。 该 URL 面向应用程序对象中配置的颁发机构的 /authorize 终结点。

用户输入其凭据和同意后,颁发机构将向请求中发送的重定向 URI 发送响应,并应包含授权代码,然后可以使用该代码通过 acquireTokenByCode(AuthorizationCodeRequest)该代码获取令牌。

function getAuthCodeUrl(request: AuthorizationUrlRequest): Promise<string>

参数

返回

Promise<string>

getLogger()

返回记录器实例

function getLogger(): Logger

返回

getTokenCache()

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

function getTokenCache(): TokenCache

返回

setLogger(Logger)

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

function setLogger(logger: Logger)

参数

logger
Logger

记录器实例