如何检查用户是否在客户端使用Firebase登录?

时间:2016-10-24 14:21:28

标签: javascript jquery node.js firebase firebase-authentication

修改

感谢您的帮助!您帮助我查明了问题并向我展示了我正在寻找的解决方案:Accessing Express.js local variables in client side JavaScript

CODE:

index.ejs

$('.UpvoteButton').click(function () {
    if (authdata == null) {
        return res.redirect('/users/login');
    }
    else {
        var $this = $(this);
        var $other = $('.DownvoteButton');
        if ($this.hasClass("on")) {
            $this.removeClass("on");
        } else if (!$this.hasClass('on') && $other.hasClass("on")) {
            $this.addClass('on');
            $other.removeClass("on");
        } else {
            $this.addClass('on');
        } 
    } 
}); 

app.js

//Global vars
app.use(function(req, res, next) {
    res.locals.authdata = firebase.auth().currentUser;
    next();
});  

问题:

当我点击时,没有任何反应。它之前没有if-else语句和重定向语句。

N.B。:这是一个EJS文件。我正在使用Node.js.

问题:

我做错了什么?

1 个答案:

答案 0 :(得分:1)

如上所述,您尝试在客户端访问服务器端变量。看看这个:Accessing EJS variable in Javascript logic

基本上,您希望使用以下方法在客户端声明变量:

<script>
    var authdata = <%= authdata %>            
</script>

然后,您可以添加代码。请记住将重定向更改为客户端识别的内容,即。 window.location.href = "/users/login";