流星登录与Facebook
问题描述:
我有一颗流星的应用程序,该包装:流星登录与Facebook
useraccounts:bootstrap;
service-configuration;
accounts-facebook;
Facebook的侧配置为允许本地请求。当使用注册/登入从atForm脸谱,一个弹出窗口
编辑
弹出实际上不是空的,但显示一条消息,“登录完成后,单击关闭”但收盘快,因为这是怎么我在脸上配置了它。
和控制台记录一个错误:
Exception while invoking method 'login' undefined
编辑
这里是服务的conf:
ServiceConfiguration.configurations.remove({
service: 'facebook'
});
ServiceConfiguration.configurations.insert({
service: 'facebook',
appId: 'removed',
secret: 'removed'
});
编辑
这里是客户端C颂:
Template.atForm.events({
'click #at-facebook': function(event) {
console.log("facebook click");
Meteor.loginWithFacebook({
requestPermissions: ['email', 'user_friends']
}, function (err) {
if (err)
Session.set('errorMessage', err.reason || 'Unknown error');
});
}
});
编辑 当与Facebook注册创建的用户是如下:
{ createdAt: Thu Jan 21 2016 16:00:08 GMT+0100 (CET),
I20160121-16:00:08.108(1)? _id: 'Kgs3WswMdB9hsxMfp',
I20160121-16:00:08.108(1)? services:
I20160121-16:00:08.108(1)? { facebook:
I20160121-16:00:08.108(1)? { accessToken: 'removed',
I20160121-16:00:08.108(1)? expiresAt: 1458562023670,
I20160121-16:00:08.109(1)? id: 'removed',
I20160121-16:00:08.109(1)? email: 'removed',
I20160121-16:00:08.109(1)? name: 'Mathieu Kudla',
I20160121-16:00:08.109(1)? first_name: 'Mathieu',
I20160121-16:00:08.110(1)? last_name: 'Kudla',
I20160121-16:00:08.110(1)? link: 'https://www.facebook.com/app_scoped_user_id/removed/',
I20160121-16:00:08.110(1)? gender: 'male',
I20160121-16:00:08.110(1)? locale: 'fr_FR',
I20160121-16:00:08.110(1)? age_range: [Object] } } }
这似乎表明,Facebook的握手是成功的?
什么是造成该错误?谢谢:)
答
好吧,我有点解决它。
我在登录尝试中发现并注意到oauth服务与用户没有正确配对。我不知道这是为什么,或者有更好的解决,但我加了一行:
if (user.services) { var service = _.pairs(user.services)[0]; }
我onCreateUser钩返回之前适当地追加用户对象。它似乎已经完成了这个伎俩,但我不知道我第一次没有做好什么......
你可以发布一些你的代码吗? facebook登录客户端代码和服务器端服务配置代码。 –
刚编辑包含。谢谢你的时间。 –
感谢那些细节帮助;你在服务器端是否有任何日志,或者你是否只在客户端收到消息“调用方法时的异常'login'undefined”? –