无法确定使用Firebase登录Github

朱莉·玛丽

在我的主页中,我具有指向以下内容的链接:

    <a href="/login">Login with Github</a>

在我的app.js中,我有以下内容:

app.get('/login', function(req, res) {
  var ref = new Firebase('https://hrr-kitchen.firebaseio.com');

  ref.authWithOAuthPopup('github', function(err, authData) {
    console.log('in authWithOAuthPopup');
    if (err) {
      console.log(err.code);
    } else if (authData) {
      // user authenticated with GitHub
      console.log('User ID: ' + authData.uid);
    }
  });
});

我已经花了几个小时在网上进行搜索,并且尝试了很多不同的事情,以至于我的眼睛很loop。我想我可能需要从html调用一个函数并将代码放入函数中,这时我很想尝试仅在服务器外部的javascript中进行操作,但我认为这很麻烦。

我是不熟悉Firebase和Express的人,我只是想不通。请帮忙?

编辑:通过更改HTML使其看起来像这样,我已经可以使工作正常:

<script type="text/javascript">
  var ref = new Firebase('https://hrr-kitchen.firebaseio.com');

  githubLogin = function () {
    login(function(err, authData) {
      var username = authData.github.username;
    });
  };

  var login = function(cb) {
    ref.authWithOAuthPopup('github', cb, {
      remember: "sessionOnly"
    });
  };
</script>

<button onclick="githubLogin();">Login with Github</button>

但是我真的很想弄清楚如何正确表达!谢谢!!

大卫·伊斯特

Firebase库中的身份验证方法仅在客户端起作用。

如果需要在服务器上进行身份验证,则应使用authWithCustomToken生成的令牌。Firebase文档中有关于生成令牌的详细部分

真正的问题是,为什么您需要在服务器上的GitHub上进行身份验证?Firebase旨在执行客户端上几乎所有的开发。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章