2016-01-21 135 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鉤返回之前適當地追加用戶對象。它似乎已經完成了這個伎倆,但我不知道我第一次沒有做好什麼......