2

如果我错了,请纠正我,但身份验证会话有 30 天的最大限制?如果是这种情况,有没有办法让我的服务器节点应用程序监听经过身份验证的 dataRef 永远存在?

干杯,特拉夫。

4

2 回答 2

2

由于on 方法有一个取消回调,该回调在任何时候权限被撤销(即身份验证过期)时都会被调用,所以这里有一种(未经测试的)处理持久连接的可能性:

var fb = new Firebase(URL_AND_PATH);
fb.auth( TOKEN, restart );

function _childAdded(ss) {
   /* do something with data */
}

function _authRevoked() {
   fb.unauth();
   fb.auth( TOKEN, restart );
};

function restart(error) {
   if( error ) { console.error(error); }
   else {
      fb.on('child_added', _childAdded, _authRevoked );
   }
}
于 2013-03-24T18:17:56.567 回答
1

除了 Kato 的建议之外,您可以做的是通过传入您的全局 Firebase 密码进行身份验证(在 Forge -> Auth -> Firebase Secrets -> “Show”中可用)。这只能在受信任的环境中使用(例如您的后端服务器),因此请确保不要通过将其签入源代码控制、将其传递给您的客户端代码/最终用户等来泄漏它。这只会“ expire”,如果秘密被撤销。

于 2013-04-15T21:09:32.077 回答