Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – 如何向Firebase验证服务器?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个应用程序写在Firebase。安全规则和客户端代码不足以使我的应用程序工作。我需要连接一个服务器来做几个任务:

>清理非标准化数据,这对于清理使用具有挑战性
onDisconnect
handlers

>构建我的数据的额外索引,超越我能做的

queries

解决方法

更新(20160611):如果您在 https://firebase.google.com上创建项目,从服务器访问数据库的步骤不同。见这个答案: @L_673_9@

有两种方法可以执行此操作:生成服务器验证令牌,或使用Firebase密钥。

生成服务器令牌
您可以使用为自定义登录创建的相同的token generator libraries生成可以从服务器使用的令牌。然后,您可以从安全规则为此服务器提供特殊访问权限。

这里是步骤:

>获取服务器的语言/平台的token generator library。 Node.js和Java服务器往往工作最好。
>使用预先选择的uid生成令牌。如果你编写一个node.js服务器,代码可能看起来像这样

var FirebaseTokenGenerator = require("firebase-token-generator");
var tokenGenerator = new FirebaseTokenGenerator("<your-firebase-secret>");
var token = tokenGenerator.createToken(
   {uid: "my-awesome-server"},{ expires: <far_into_the_future_seconds> });

>使用令牌验证客户端。这里是更多的node.js代码

var ref = new Firebase("https://<your-firebase>.firebaseio.com/");
ref.authWithCustomToken(token,function(error,authData) {
  ...
});

>如果没有您的服务器语言的客户端,例如PHP,使用您的REST请求的令牌作为auth parameter
>更新您的安全规则以向您的服务器授予特殊权限,由uid标识,就像这个简单的规则允许读取访问整个Firebase

{
    "rules": {
        ".write": false,".read": "auth.uid === 'my-awesome-server'"
    }
}

>访问所有的数据,做真棒的东西。

优点

>这是Firebase官方推荐的验证服务器的方法
>您的服务器将遵守验证规则。
>服务器只是另一个用户。您可以使用安全规则提供对数据的细粒度访问。
>由于访问是细粒度的,你的服务器中的错误不太可能导致损坏,例如@L_696_29@根节点。

Firebase秘密

如果你是喜欢生活在边缘的那种开发人员,并在帽子的一滴类型sudo,你也可以直接使用你的Firebase密码进行身份验证。

但是认真,不要这样做。这很危险。

原因不做

>就像盲目使用sudo,它是非常危险的。>您的服务器将不会遵守您的验证规则。>您的服务器已完全读取/写访问您的Firebase。如果它有一个丑陋的bug,它可能会@L_696_29@或损坏无业务访问的数据。>您的秘密结束在更多的地方(可能在出站请求日志,等等)。如果出去,你会面临更多的风险。

大佬总结

以上是大佬教程为你收集整理的node.js – 如何向Firebase验证服务器?全部内容,希望文章能够帮你解决node.js – 如何向Firebase验证服务器?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。