【问题标题】:Firebase unauth - Throws an error: permission_deniedFirebase unauth - 引发错误:permission_denied
【发布时间】:2015-11-21 17:13:54
【问题描述】:

我正在使用混合了 Firebase 和 AngularFire 的 AngularJS 应用程序。当我单击调用Logout() 函数的按钮时,Logout() 调用ref.unauth() 但它偶尔会导致错误。该错误来自 Firebase 库: “客户端无权访问所需数据。”

//1. Unauthorize
var ref = new Firebase($scope.firebaseurl+'/'+jsonArray.UserProfile.UID);
ref.off();
ref.unauth();

我尝试在 Angular 中创建一个服务来保留变量,以便在注销时销毁它们,但它似乎没有影响。

有没有办法抑制该错误或取消绑定所有链接?

我应该在 firebaseurl + '/'.... 的所有变体上调用 ref.unauth() 吗?

如果我应该提供更多信息,请告诉我。

感谢您对此的帮助。

【问题讨论】:

    标签: javascript angularjs firebase angularfire firebase-security


    【解决方案1】:

    我最终挖掘得更深一些,我发现一直有效的解决方案是添加一个 scope.xyz.$destory();到 $firebaseArrays/Objects。 $scope.$on( '$destroy', function() { $scope.array1.$destroy(); }); 所以基本上当视图/范围被破坏时也发生在注销时,firebaseArrays/Objects 被强制破坏。希望这可以帮助遇到此问题的任何人。

    【讨论】:

    • 我遇到了同样的问题。您是否正在销毁所有对象/数组/等?在每个控制器中?如果我们必须在任何地方进行手动清理,这似乎真的很痛苦......似乎在 firebase 代码中的某个地方,它试图在将用户注销后访问用户
    • 我找到了导致问题的参考。我发现将所有 firebase ref 封装到服务中会更容易。
    猜你喜欢
    • 1970-01-01
    • 2019-07-17
    • 1970-01-01
    • 2018-02-07
    • 1970-01-01
    • 2021-04-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多