重要なお知らせ:
テスト用に登録する場合は、自分のプロファイル設定、および interest add delete profile にアクセスしてください。
私の ウェブサイト にFacebookでログインしようとしています
次のようなエラーが表示されます。
URLブロック:リダイレクトURIがアプリのクライアントOAuth設定でホワイトリストに登録されていないため、このリダイレクトは失敗しました。クライアントおよびWeb OAuthログインがオンになっていることを確認し、すべてのアプリドメインを有効なOAuthリダイレクトURIとして追加します。
Facebookで私のsettings
(基本)は:
website
のサイトのURL: http://openstrategynetwork.com/ /詳細設定タブで、Valid OAuth redirect URIs
は次のように設定されています。
http://openstrategynetwork.com/_oauth/facebook?close
アプリはpublic
です。
アプリキーと秘密は正しいです。私はMeteorとそのアカウントパッケージを使っています。
あなたのサイトのFacebookボタンでログインすることはリンクしています:
https://www.facebook.com/v2.2/dialog/oauth?client_id=1500708243571026&redirect_uri=http://openstrategynetwork.com/_oauth/facebook&display=popup&scope=email&state=eyJsb2dpblN0eWxlIjoicG9wdXAiLCJjcmVkZW50aWFsVG9rZW4iOiIwSXhEU05XamJjU0VaQWdqcmF6SXdOUWRuRFozXzc0X19lbVhGWUJTZGNYIiwiaXNDb3Jkb3ZhIjpmYWxzZX0=
Notice:redirect_uri=http://openstrategynetwork.com/_oauth/facebook
代わりにリンクを次のように変更したとします。
redirect_uri=http://openstrategynetwork.com/_oauth/facebook?close
それはうまくいくはずです。または、Facebookのリンクをhttp://openstrategynetwork.com/_oauth/facebook
に変更することもできます。
有効なリダイレクトURIにhttp://localhost/_oauth/facebook
を追加することもできます。
そうでなければ他の人があなたのサービスのためにFacebookにログインして攻撃者のサーバーにアクセストークンを送ることができるのでFacebookはあなたがURIをリダイレクトすることを要求しています!そして、あなたはそれが起こりたくないのです。
質問者が書いているように
詳細設定タブで、有効なOAuthリダイレクトURIを次のように設定します。
私は同じ問題を抱えていました(間違った入力フィールドにリダイレクトURLを書いて)私はそれを強調したいと思います
そうではありません
Settings -> Advanced -> Share Redirect Whitelist
しかし
Facebook Login -> Settings -> Valid OAuth redirect URIs
それは私に2時間の試行錯誤を救ったでしょう。
これは私のために働きました。
redierct_url = http://127.0.0.1:8080/accounts/facebook/login/callback/
私は私のブラウザからあなたのブラウザがFacebook APIと統合するためのリンクにリダイレクトされるので、あなたがそのリダイレクトを受けるところであなたのブラウザがリダイレクトされるであろうことを私のブラウザから得ました。私の場合、リンクはredirect_urlを取得した場所からのリンクです。
"App Domain"とFacebookログイン=>有効なOAuthリダイレクトURI} _を確認してください。そこではwwwかwwwなしをチェックしなければなりません。あなたがWWWと一緒に使うか、php、html、cssファイルとFbアプリ設定のすべてのURLに使わないのがより良いです。
他には、URLの末尾に "/"を使用している場合は、そのURLを有効なOAuthリダイレクトURIのアプリ設定に追加する必要があります。例: - https://www.example.com/index.php/ このURLをリダイレクトURLで使用している場合は、アプリ設定に設定する必要があります。
これが助けになることを願っています。
Valid OAuthリダイレクトURIの hauth.done = Facebook から hauth_done = Facebook に変更することで修正されました。
まず、これは非常に明確なエラーメッセージです。私の自己を含め、多くの開発者がこれを見逃しているだけです。こちらのスクリーンショットをご覧ください。
または、このURLにアクセスしてください(YOUR_APP_IDをアプリIDに置き換えてください):
https://developers.facebook.com/apps/YOUR_APP_ID/fb-login/settings/
localhost:3000
で作業している場合は、https://localhost:3000/auth/facebook/callback
があることを確認してください
もちろん、ステータスをライブにする必要はありません(右上隅の緑色のスイッチ)が、私の場合は、現在herokuにデプロイしており、すぐにlocalhost:3000
をhttps://myapp.herokuapp.com/auth/facebook/callback
に置き換えます
もちろん、設定/基本と設定/詳細でURLを更新し、基本セクションにプライバシーポリシーのURLも追加します。
Deviseを使用しており、適切なfacebook gem 'omniauth-facebook', '~> 4.0'
gemがインストールされ、gem 'omniauth', '~> 1.6'
があり、usersテーブルに次のような必要な列がある場合、initializers/devise.rbが適切に構成されていると想定していますuid、イメージ、およびプロバイダー。それでおしまい。
私たちも同じ問題、こんな悪夢を見ました。
アプリIDと秘密鍵が正しいことを確認してください。テスト用に別々の開発用、ステージング用、および本番用のアプリを使用している場合、アプリIDと秘密鍵はアプリごとに異なります。これはしばしば問題です。
アプリの設定ファイルでコールバックURLが正しく設定されていることを確認してください(下記参照)。それから " Facebook Login "設定の下に " Valid OAuthリダイレクトURI "と同じURLを追加します。それはこのように見えるべきです(あなたの環境によります):
http://localhost/auth/facebook/callback
http://staging.example.com/auth/facebook/callback
http://example.com/auth/facebook/callback
あなたのサイトのログインヘルパー
$ loginUrl = $ helper-> getLoginUrl( 'xyz.com/user_by_facebook/'、$ permissions);
とFacebookのアプリケーションダッシュボードで(製品タブの下: Facebookのログイン )
有効なOAuthリダイレクトURI もxyz.com/user_by_facebook/と同じである必要があります
webからのリクエスト中に前述したように
私の場合は、FacebookのログインをRailsアプリのチュートリアルに統合しました。私の有効なOAuthリダイレクトURIに http:// localhost:3000/adsf を追加しましたが、Railsアプリは http://0.0.0.0:3000 のようにURLを開くため、次のようにします。 http://0.0.0.0:3000/asdf にリダイレクトします。 http://0.0.0.0:3000/asdf を有効なOAuthリダイレクトURIに追加した後、または http:// localhost:3000/asdf に移動した後、期待どおりに機能しました。
私の場合、FBで定義されたURIは問題ありませんでしたが、Spring Securityを使用しており、; jsessionid = 0B9A5E71DAA32A01A3CD351E6CA1FCDDをURIに追加していたため、不一致が発生しました。
https://m.facebook.com/v2.5/dialog/oauth?client_id=your-fb-id-code&response_type=code&redirect_uri=https://localizator.org/auth/facebook;jsessionid=0B9A5E71DAA32A01A3CD351E6CA1FCDD&scope=email&state=b180578a-007b-48bc-bd81-4b08c6989e18
URLの書き換えを回避するために、Spring Security configにdisable-url-rewriting = "true"を追加しました。
<http auto-config="true" access-denied-page="/security/accessDenied" use-expressions="true"
disable-url-rewriting="true" entry-point-ref="authenticationEntryPoint"/>
そして、それは私の問題を修正しました。
http://openstrategynetwork.com/ sigin-facebook をクライアントOAuth設定の有効なリダイレクトURLに追加してください。