【问题标题】:Firebase authentication handling with ui-router使用 ui-router 处理 Firebase 身份验证
【发布时间】:2017-05-07 05:43:23
【问题描述】:

我正在尝试让 Firebase 身份验证与路由器(ui-router)一起使用,如 this 示例中所示。我希望有多个页面,您无需进行身份验证即可获得。

当用户在需要身份验证的页面上登录并signs out 时,我如何设法将用户重定向到“主”状态?

在run函数中想到了如下代码:

firebase.auth().onAuthStateChanged(function(user) {
    if(user == null) {
        $state.go('home');
    }
});

不幸的是,当您通过 URL 访问时,您无法访问不需要身份验证的页面。

您可以找到完整的代码示例here

任何想法如何解决这个问题?

【问题讨论】:

标签: angularjs redirect firebase angular-ui-router firebase-authentication


【解决方案1】:

建议您同时满足以下条件 undefinednull

if(user == null || user == undefined ) {
        $state.go('home');
    }

在您不想通过身份验证的页面的 resolve 属性中添加以下内容(允许匿名用户进入)

resolve : {
       user: undefined;
}

但如果允许用户再次进行身份验证,他应该登录

添加您的用户 JSON 对象以帮助您摆脱此错误。

【讨论】:

    猜你喜欢
    • 2017-01-13
    • 2019-04-11
    • 2017-06-02
    • 2017-02-14
    • 2016-07-27
    • 2018-09-25
    • 1970-01-01
    • 2021-07-11
    • 1970-01-01
    相关资源
    最近更新 更多