mau*_*aus 3 cookies firebase reactjs firebase-authentication next.js
我目前正在研究 Next.js (React) 项目,在该项目中我使用 Firebase Auth 进行身份验证。我使用它连接到 REST API 后端,后者接收 Firebase 提供的用户令牌(通过getIdToken())。
因为 IdToken 不时发生变化,所以我目前在发送这样的fetch请求之前正在请求最新的 IdToken :
const fetcher = (url: string) => {
return user.getIdToken().then((token) =>
fetch(url, {
method: "GET",
headers: new Headers({
"Content-Type": "application/json",
Authorization: `Bearer ${token}`,
}),
}).then((res) => res.json())
);
};
Run Code Online (Sandbox Code Playgroud)
这种设置实际上有效,但我想知道它是否被认为是高效/最佳实践?我看到很多使用 IdToken 设置 cookie 的示例(例如firebase docs、next.js 示例)。
我可以getIdToken()理解为什么在使用 SSR 时,因为不能在那里调用。但我的应用程序只使用客户端数据获取。放弃目前使用 cookie 的方法对我有什么好处吗?
Firebase 身份验证 SDK 已将令牌缓存在本地存储中,因此您无需再次将其缓存到其他地方。
实际上,令牌每小时刷新一次,Firebase Authentication SDK 会在后台自动刷新它。如果您自己缓存令牌,则最终可能会使用过时的令牌。
因此,我建议getIdToken()您在需要 ID 令牌时始终致电。当然,可以将它存储在一个变量中,并在单个代码块(几乎同时运行的代码)中使用它。
使用 cookie 将令牌传递给您的服务器是可以的,Authorization就像您现在使用的标头一样。后者更常见,但 cookie 也可以。
| 归档时间: |
|
| 查看次数: |
1194 次 |
| 最近记录: |