この Railscast で説明されているようにOmniauthを設定しようとしています。 Twitterでは動作しますが、Facebookでは動作しません。また、 ' http:// localhost:30 'をsiteurlとして、 'localhost'をドメインとして設定しましたが、ブラウザに次のエラーメッセージが表示されます。
Invalid redirect_uri: Given URL is not allowed by the Application configuration.
これを修正する方法について誰か提案がありますか?前もって感謝します。
URIのリダイレクトを見てください。私はlocalhost:3000を読んだので、サイトのURLを「http:// localhost:3000 /」に変更しました。
これが私のために働いたものです。
現在、FacebookはサイトドメインをIPに設定することを許可していないため、サイトURLをhttp://127.0.0.1:3000/
に設定することはできません。これは、FacebookがURLがドメインと一致しないと文句を言うためです。
したがって、Facebookアプリで次のように設定します。
Site URL: http://localhost:3000/
Domain: localhost
開発マシンでアプリにアクセスするときは、ブラウザーにlocalhost:3000と入力してください。 127.0.0.1:3000を使用する場合、OmniAuthはFacebookに送信するコールバックURLでそれを使用し、Facebookはライアンが上記で述べたエラーをスローします。
ローカルブラウザで http://lvh.me:30 に切り替えて、Facebookをローカルでテストします。次に、Facebookアプリの設定で、lvh.meをドメインにします。
lvh.meは、開発者がサブドメインをローカルでテストするために購入した127.0.0.1を指す登録済みドメインです。
使ってみてください
http://0.0.0.0:3000/
「サイトURL」の場合。これは私のために働きます。 (また、[サイトドメイン]フィールドには何もありません。)
OSXを使用している場合は、pow http://pow.cx/ を使用してlocalhostの名前を次のように変更できます。
http://yourapp-dev
(実際には名前が変更されていません、追加されています)
facebookで有効なドメイン名として設定できます。