2016-01-21 136 views
1

我有一颗流星的应用程序,该包装:流星登录与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的握手是成功的?

什么是造成该错误?谢谢:)

+0

你可以发布一些你的代码吗? facebook登录客户端代码和服务器端服务配置代码。 –

+0

刚编辑包含。谢谢你的时间。 –

+0

感谢那些细节帮助;你在服务器端是否有任何日志,或者你是否只在客户端收到消息“调用方法时的异常'login'undefined”? –

回答

0

好吧,我有点解决它。

我在登录尝试中发现并注意到oauth服务与用户没有正确配对。我不知道这是为什么,或者有更好的解决,但我加了一行:

if (user.services) { var service = _.pairs(user.services)[0]; } 

我onCreateUser钩返回之前适当地追加用户对象。它似乎已经完成了这个伎俩,但我不知道我第一次没有做好什么......