web-dev-qa-db-ja.com

ローカルホストでのOmniauthFacebook認証

この Railscast で説明されているようにOmniauthを設定しようとしています。 Twitterでは動作しますが、Facebookでは動作しません。また、 ' http:// localhost:30 'をsiteurlとして、 'localhost'をドメインとして設定しましたが、ブラウザに次のエラーメッセージが表示されます。

Invalid redirect_uri: Given URL is not allowed by the Application configuration.

これを修正する方法について誰か提案がありますか?前もって感謝します。

22
Ryan Foster

URIのリダイレクトを見てください。私はlocalhost:3000を読んだので、サイトのURLを「http:// localhost:3000 /」に変更しました。

32
Chrisjschmitt

これが私のために働いたものです。

現在、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はライアンが上記で述べたエラーをスローします。

28
Monica

ローカルブラウザで http://lvh.me:30 に切り替えて、Facebookをローカルでテストします。次に、Facebookアプリの設定で、lvh.meをドメインにします。

lvh.meは、開発者がサブドメインをローカルでテストするために購入した127.0.0.1を指す登録済みドメインです。

15
Josh Crews

使ってみてください

http://0.0.0.0:3000/

「サイトURL」の場合。これは私のために働きます。 (また、[サイトドメイン]フィールドには何もありません。)

7
monocle

OSXを使用している場合は、pow http://pow.cx/ を使用してlocalhostの名前を次のように変更できます。

http://yourapp-dev  

(実際には名前が変更されていません、追加されています)

facebookで有効なドメイン名として設定できます。

0
Gonzalo S