无法弄清楚使用FirebaseloginGithub
在我的主页上,我有一个链接如下:
<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); } }); });
我花了几个小时在网上search,我已经尝试了很多不同的东西,我的眼睛是狡猾的。 我想我可能需要从HTML调用一个函数,并把代码放在一个函数,我试图在这一点尝试,只是在服务器以外的JavaScript做,但我认为这是janky。
我是新来的firebase和expression,我只是无法弄清楚这一点。 请帮忙?
编辑:我已经能够通过更改我的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>
但我真的想弄清楚如何正确expression! 谢谢!!
Firebase库中的身份validation方法仅适用于客户端。
如果您需要在服务器上进行身份validation,则应使用生成的令牌中的authWithCustomToken
。 Firebase文档详细介绍了如何生成令牌 。
真正的问题是,为什么你需要在服务器上使用GitHub进行身份validation? Firebase旨在完成客户端上几乎所有的开发工作。
我最终通过Firebase破坏了login并使用了passport-github。 谢谢您的帮助!
- 无法连接Firebase数据库到Express.js服务器
- 上传到Firebase存储时,如何使用Cloud Functions for FIrebase获取mp3文件的持续时间
- 在node.js服务器上validation客户端Firebase令牌
- 运行firebase作为后端的同一个应用程序的多个域
- Firebase注册了用户 – 将用户存储在注册用户中
- 在node.js中使用Firebase 3.0进行身份validation
- Firebase + Node.js:错误:未findXMLHttpRequest兼容性库
- 从Angular发送电子邮件2
- 用于parsing云代码的类似Node.js的firebase模块