2016-04-05 15 views
1

Meteor.loginWithFacebook()メソッドの実装中にこのエラーメッセージが表示され続けます。ログインは私のアプリのために働くために使用される、今ではもうないと私は理由は考えていない:私はFacebookのログインボタンをクリックしたときに、それはそう設定されているMeteor.loginWithFacebookが失敗しています

enter image description here

を、Meteor.loginWithFacebook()メソッドがありますそう(クライアント側)のように、と呼ばれる:

'click .facebook-login':function(event){ 
    Meteor.loginWithFacebook({requestPermissions:['user_photos', 'user_videos'], loginStyle:"popup"},function(err){ 
     if (err) 
      throw new Meteor.Error(err, "Facebook Login Failed"); 
    }); 
} 

サーバー側:私は自分のコードにプッシュするとき

奇妙な
ServiceConfiguration.configurations.upsert(
    { service: "facebook" }, 
    { 
    $set:{ 
     // Development 
     appId: "App-ID-String", 
     secret: "App-Secret-String" 
    } 
    } 
); 

、これは開発中で作業するときに正常に動作しますが、私のプロダクションサーバー、上記のエラーが表示されます。このコードは数ヶ月間働いていて、その後は生産中に作業を停止しました。私は最初から両方のデータベースをクリアしましたが、私はまだ生産ではなく、開発ではなくエラーを取得します。

あなたが言及する前に、別のappIdと秘密を開発対生産に基づいて処理するコードブロックがありますが、コードは本質的に同じで、両方の環境に対応しています。

答えて

0

Facebook SDKは、あなたのURLプレフィックス/ホスト(URLの前に 'www'があるかどうか)を特定し、そのURLを別々のサイトとして扱います。私のサイトにログインするとき、私のサイトのwww以外のプレフィックス付きURLバージョンはFacebookにログインできませんでしたが、 'www'は可能でした。

次のコードを使用してwww以外のURLにアクセスした場合、私のアプリに「www」接頭辞のURLをリロードさせることでこれを解決できました。私はGoDaddy DNSインターフェイスを使って転送しようとしましたが、うまくいきませんでした。ユーザーが非WWW URLを訪れた場合、それは基本的に二回アプリケーションをロードするので、これはこれを処理する最も理想的な方法ではないようだけれども

Meteor.startup(function() { 
    if (location.host.indexOf('www') === -1) { 
    location = 'http://www.example.com'; 
    } 
}); 

これは即座に私の主な問題を修正しました。

関連する問題