next.js 在RTK查询中设置“授权”标头并进行下一次验证

tvmytwxo  于 2023-04-30  发布在  其他
关注(0)|答案(1)|浏览(109)

我目前正在使用Next Auth对Active Directory进行授权。我需要使用我收到的访问令牌并在Authorization头中使用它。问题是你不能使用useSession钩子,因为它不是一个react组件。不知道我应该采取什么样的方法。
这里是我尝试添加令牌的地方:

const baseQuery = fetchBaseQuery({
  baseUrl: `${process.env.NEXT_PUBLIC_BASE_URL}`,
  prepareHeaders: (headers, {
    getState
  }) => {
    headers.set('Authorization', `Bearer ${token}`)
  }
  return headers;
},
});

我知道token是未定义的。它只是为了显示我需要它的地方。我想我需要使用redux,但我不知道如何设置访问令牌,如果登录发生在Microsoft SSO页面上。
我希望这有意义。

n53p2ov0

n53p2ov01#

根据注解here,您应该 Package baseQuery组件并通过(我假设)MSAL检索令牌。
您不应该通过prepareHeaders中的钩子来检索它。
为了检索令牌,您需要从msal示例调用acquireTokenSilent()。更多here

相关问题