0

我们的应用程序使用带有 PKCE 的授权代码流,这是使用 MSAL-React 包https://github.com/AzureAD/microsoft-authentication-library-for-js/tree/dev/lib/msal-reactand实现的,它在Azure B2C 活动目录。

我们目前通过让用户输入用户名和密码来对用户进行身份验证,这些用户名和密码被交换为一个access_token然后随每个请求一起发送。这样后端就知道要向前端发送什么。

我们有一个新要求,归结为我们access_token从另一种方法中获取。这是为了促进一些我们最初不知道的新功能。

我们目前使用此代码设置令牌作为流程的一部分

msalInstance
  .acquireTokenSilent(tokenRequest)
  .then(async (tokenResponse) => {
    setToken(tokenResponse.accessToken)
  })

但是我们现在需要手动设置这个令牌(不用担心我们如何获得这个令牌,假设我们有一个)

MSAL 有没有办法手动设置我们传递给它的令牌?

所以这样的事情会很棒(我知道这不存在)

comst token = {} // our token object which would be correct 
msalInstance
 .manuallyGetToken(token)
 .then(async (tokenResponse) => {
   setToken(tokenResponse.accessToken)
 })

MSAL 的“黑匣子”性质被证明是困难的,因为它向我们隐藏了 OAuth 的内部,这很好,直到您需要稍微偏离它应该工作的方式。

4

0 回答 0