【发布时间】:2024-05-20 03:55:02
【问题描述】:
我一直在处理身份验证、阅读和观看有关它的视频。我想出了建立自己的 JWT 解决方案,基于五分钟后过期的 access_token 和永不过期的 refresh_token。我将该令牌存储在 cookie 中,并在需要时使用第二个令牌提供更多 access_tokens。我将 refresh_token 存储在 Redis 中,以便能够在其中一个被泄露/被盗时撤销。
现在,我需要将我的身份验证系统移至 Google Firebase 以便将我的用户存储在那里,并添加 Google 和 Facebook 登录。但是我发现我需要创建一个 sessionCookie,它会在两周内到期。之后,用户从应用程序中退出,需要再次手动访问。我想以正确的方式(自动,服务器端)刷新该 firebase sessionCookie,但文档对此只字未提。我又想出了自己的解决方案,但我认为这是不对的。
我不想使用 getIdToken 方法,因为使用自定义令牌,我需要在客户端修改我的每个 api 调用,这不是我的想法。我想在服务器端进行刷新。
那么,自动刷新 sessionCookie 并保持用户永久认证的正确方法是什么?
我在这里读到的信息:
【问题讨论】:
标签: node.js firebase firebase-authentication jwt refresh-token