0

ねえ、Facebook、OmniAuth、Rails、Herokuを一緒にプレイさせることができないようです。すべてがローカルで正常に機能します。

問題

何が起こるのですか?ログインをクリックしても何も起こりません。Firebugでは、ローカルではFacebook Oauthリクエストが発生したことを示していますが、実際のサイトではそのようなリクエストは発生しません。代わりに、コンソールでメッセージが表示されますFB.login() called before FB.init()

FacebookでURLを変更してローカルにログインしようとすると、Facebookからエラーメッセージが表示されます。これは、リクエストが発生したことを意味します。ですから、この問題は証明書と関係があると思います。

これはそれを解決しませんでした:Facebookのomniauthは本番環境で機能していませんが、権限のために何を入れるべきかわかりません。私は拡張fbグラフのアクセス許可を使用せず、何も指定せずにローカルで機能しました(以下の初期化子を参照)。

私のセットアップ

Facebookの[アプリをFacebookと統合する方法を選択してください]で選択し、[Website with Facebook loginサイトのURL]で機能しているか機能していhttp://0.0.0.0:3000ないかを確認しますhttp://mysite.tld

これが私のomniath.rb初期化子です

OmniAuth.config.logger = Rails.logger

Rails.application.config.middleware.use OmniAuth::Builder do
  provider :facebook, ENV['FACEBOOK_APP_ID'], ENV['FACEBOOK_SECRET'], { 
    client_options: { ssl: { 
        ca_file: '/usr/lib/ssl/certs/ca-certificates.crt',
        ca_path: "/etc/ssl/certs"
    }}
  }
end

また、私はマスキング付きのカスタムドメイン名を使用しています。それが問題になる場合に備えて、fyiだけです。念のため、何も表示せずにエラー画面が表示されるので、そうは思いません。

ありがとう、そして私はあなたが提案できるどんなヒントやトラブルシューティングも本当に楽しみにしています!悪夢だったので、これが機能するようになったら、これらすべての設定に関するチュートリアルをブログに書く予定です。

4

1 に答える 1

0

問題は、変数のスペルを間違えたことです。コードは大丈夫だった...

@Ashitakaに、私を助けてくれた二重の努力に感謝します!

于 2012-10-06T16:24:19.583 に答える