【发布时间】:2020-09-04 23:31:57
【问题描述】:
我正在尝试在我的服务器上使用 firebase 进行身份验证,并为不需要拉入 firebase 客户端(目前)的用户提供身份验证体验。
/login 端点接收用户名和密码。然后,我使用firebase.auth().signInWithEmailAndPassword 将 JWT 令牌返回给用户。然后,他们可以在对我的 RESTful API 的后续请求中使用它作为不记名令牌。
我正在努力解决的问题是该令牌何时过期(一小时后)。当请求进入需要身份验证验证时,我的部分流程是使用 admin.auth().verifyIdToken 验证令牌,如果不再有效则拒绝该请求。
是否正确:
(1) 在初始登录时也向客户端提供refresh 令牌,以便他们可以处理拒绝,然后请求新的 JWT 令牌?
(2) 在 admin SDK 上执行一些操作以代表用户刷新令牌
在我之前使用过的典型 oauth 场景中,客户端始终负责刷新令牌,但是我终其一生都无法弄清楚如何使用以下任一方法从刷新令牌中检索新的 JWT 令牌admin SDK 或 firebase SDK
我不知道通常驻留在客户端的 firebase SDK 是否在与 firebase.database 等一起使用时在后台处理此令牌刷新。如果我不使用该客户端 SDK,而是使用令牌作为不记名令牌,我可以让客户端传递刷新令牌以从后端交换新的 JWT 令牌吗?
它可能正盯着我的脸,我只是没看到。
【问题讨论】:
标签: javascript firebase-authentication