在我的主页中,我具有指向以下内容的链接:
<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] 删除。
我来说两句