2013-03-22 172 views
2

纠正我,如果即时通讯错误,但auth会话有30天的最大限制?如果是这样的话,有没有办法让我的服务器节点应用程序监听经过身份验证的dataRef永久保存?持续会话?

干杯, Trav。

+0

难道你不能每隔几天就重新授权吗?或者当auth失败时? – Kato 2013-03-22 15:41:07

+0

加藤,谢谢,当你说出口时似乎很简单。我觉得没有想到我发布之前很傻。干杯。 – johnstontrav 2013-03-24 09:41:32

+0

嗯,当你不理会应用程序的复杂层次和要求时,它总是显得更加简单;我的女儿总是提出这样的解决方案。 :) – Kato 2013-03-24 18:11:42

回答

2

由于被调用的权限被撤销任何时间(即AUTH到期)的on method has a cancel callback,这里有一个(未经测试)的可能性来处理持久连接:

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); 
    } 
} 
1

除了加藤的建议,你可以做什么通过传入您的全球Firebase秘密进行身份验证(可在Forge - > Auth - > Firebase Secrets - >“Show”中找到)。这只能用在可信的环境中(比如你的后端服务器),所以一定不要将它检入到你的源代码控制中,将它传递给你的客户代码/最终用户等等。这只会“到期“如果秘密被撤销。