Firebase auth idTokens
我已经阅读了很多关于Web上的Firebase auth的文章,但是找不到关于应该如何在客户端使用idToken的任何明确解释。到目前为止,这是我所知道的
用户登录后,我们可以使用以下方法获取令牌,如果令牌已过期,它将自动刷新令牌
1 2 3 4 5 6 | firebase.auth().currentUser.getIdToken(/* forceRefresh */ true).then(function(idToken) { // Send token to your backend via HTTPS // ... }).catch(function(error) { // Handle error }); |
然后我们可以将此令牌发送到后端,在这里我们可以使用firebase admin SDK来验证id令牌并获取用户uid。
1 2 3 4 5 6 | admin.auth().verifyIdToken(idToken).then(function(decodedToken) { var uid = decodedToken.uid; // ... }).catch(function(error) { // Handle error }); |
这是我不明白的东西。
否;如您所述,令牌有效期为一个小时。除非有理由刷新(例如,如果您添加自定义声明),否则您可以在此期间重用同一令牌。
理想地,当令牌无效时,您的服务器将返回
除非您的业务逻辑需要,否则不需要后端会话。 Firebase库将为您处理持久性。