Reactjs 每次获取或设置cookie时Firebase Auth:getIdToken?

Reactjs 每次获取或设置cookie时Firebase Auth:getIdToken?,reactjs,firebase,cookies,firebase-authentication,next.js,Reactjs,Firebase,Cookies,Firebase Authentication,Next.js,我目前正在进行一个Next.js(React)项目,在那里我使用Firebase Auth进行身份验证。我使用它连接到RESTAPI后端,该后端接收Firebase提供的用户令牌(通过getIdToken()) 由于IdToken不时更改,因此我当前正在重新测试最新的IdToken,然后再发送获取请求,如下所示: constfetcher=(url:string)=>{ 返回user.getIdToken()。然后((令牌)=> 获取(url{ 方法:“获取”, 标题:新标题({ “内容类型”:

我目前正在进行一个Next.js(React)项目,在那里我使用Firebase Auth进行身份验证。我使用它连接到RESTAPI后端,该后端接收Firebase提供的用户令牌(通过
getIdToken()

由于IdToken不时更改,因此我当前正在重新测试最新的IdToken,然后再发送
获取
请求,如下所示:

constfetcher=(url:string)=>{
返回user.getIdToken()。然后((令牌)=>
获取(url{
方法:“获取”,
标题:新标题({
“内容类型”:“应用程序/json”,
授权:`Bearer${token}`,
}),
}).然后((res)=>res.json())
);
};
这个设置确实有效,但我想知道它是否被认为是有效的/最佳实践? 我看到了很多使用IdToken设置cookie的示例(例如)


我可以理解为什么在使用SSR时,因为那里不能调用
getIdToken()
。但我的应用程序只使用客户端数据获取。离开当前使用cookie的方法对我有什么好处吗?

Firebase身份验证SDK已将令牌缓存在本地存储中,因此您无需再次将其缓存到其他位置

事实上,令牌每小时刷新一次,Firebase身份验证SDK会在后台自动刷新令牌。如果您自己缓存令牌,则可能会使用过时的令牌

因此,我建议在需要ID令牌时始终调用
getIdToken()
。当然,可以将其存储在变量中,并在单个代码块(几乎同时运行的代码)中使用它


使用cookie将令牌传递给您的服务器是可以的,就像您现在使用
Authorization
头一样。后者更常见,但cookie也能工作。

“Firebase身份验证SDK已将令牌缓存在本地存储中”——请提供相关文档的链接。