Ale*_*lex 3 node.js firebase firebase-authentication firebase-admin
我们正在开始开发Web应用程序,并正在考虑使用Firebase身份验证来处理我们的注册流程。但是,我们不确定ID令牌验证的工作方式。似乎可以用Firebase领域之外的令牌来验证用户。我们正在考虑在Google Kubernetes Engine上安装Node.js应用程序-据我所知,它不与Firebase身份验证集成。
Firebase提供了有关如何使用Firebase Admin SDK验证ID令牌的以下示例:
// idToken comes from the client app (shown above)
admin.auth().verifyIdToken(idToken)
.then(function(decodedToken) {
var uid = decodedToken.uid;
// ...
}).catch(function(error) {
// Handle error
});
Run Code Online (Sandbox Code Playgroud)
我的问题是Firebase是否必须调用其服务器才能验证每个用户请求上的ID令牌(这会增加延迟),或者它是否长时间缓存了验证令牌所需的加密密钥–我就是这么认为的。
当您调用时verifyIdToken,Admin SDK将使用公共密钥对令牌进行解码,并验证签名是否有效。它从Google的服务器上下载了此密钥,但已缓存了24小时(因为它几乎从未更改过)。验证令牌后,它将检查令牌是否已撤销,这需要再次调用Firebase身份验证服务器。每次调用都会发生此请求verifyIdToken。
您可以对照源代码进行检查。
| 归档时间: |
|
| 查看次数: |
721 次 |
| 最近记录: |