web-dev-qa-db-ja.com

Facebookのログインメッセージ:「URLがブロックされました:リダイレクトURIがアプリのクライアントOAuth設定でホワイトリストに登録されていないため、このリダイレクトは失敗しました。」

重要なお知らせ:

テスト用に登録する場合は、自分のプロファイル設定、および interest add delete profile にアクセスしてください。

私の ウェブサイト にFacebookでログインしようとしています

次のようなエラーが表示されます。

URLブロック:リダイレクトURIがアプリのクライアントOAuth設定でホワイトリストに登録されていないため、このリダイレクトは失敗しました。クライアントおよびWeb OAuthログインがオンになっていることを確認し、すべてのアプリドメインを有効なOAuthリダイレクトURIとして追加します。

Facebookで私のsettings(基本)は:

詳細設定タブで、Valid OAuth redirect URIsは次のように設定されています。

http://openstrategynetwork.com/_oauth/facebook?close

アプリはpublicです。

詳細設定(詳細)はこちら: enter image description here

アプリキーと秘密は正しいです。私はMeteorとそのアカウントパッケージを使っています。

100
Amir Rahbaran

あなたのサイトの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をリダイレクトすることを要求しています!そして、あなたはそれが起こりたくないのです。

64
Edward Jiang

質問者が書いているように

詳細設定タブで、有効なOAuthリダイレクトURIを次のように設定します。

私は同じ問題を抱えていました(間違った入力フィールドにリダイレクトURLを書いて)私はそれを強調したいと思います

そうではありません

Settings -> Advanced -> Share Redirect Whitelist

しかし

Facebook Login -> Settings -> Valid OAuth redirect URIs

それは私に2時間の試行錯誤を救ったでしょう。

51
andymel

これは私のために働きました。

redierct_url = http://127.0.0.1:8080/accounts/facebook/login/callback/

私は私のブラウザからあなたのブラウザがFacebook APIと統合するためのリンクにリダイレクトされるので、あなたがそのリダイレクトを受けるところであなたのブラウザがリダイレクトされるであろうことを私のブラウザから得ました。私の場合、リンクはredirect_urlを取得した場所からのリンクです。

https://www.facebook.com/dialog/oauth?client_id=...&scope=&response_type=code&state=...&redirect_uri=http://127.0.0.1:8080/accounts/facebook/login/callback/

enter image description here enter image description here

17
Umar Asghar

"App Domain"とFacebookログイン=>有効なOAuthリダイレクトURI} _を確認してください。そこではwwwwwwなしをチェックしなければなりません。あなたがWWWと一緒に使うか、php、html、cssファイルとFbアプリ設定のすべてのURLに使わないのがより良いです。

他には、URLの末尾に "/"を使用している場合は、そのURLを有効なOAuthリダイレクトURIのアプリ設定に追加する必要があります。例: - https://www.example.com/index.php/ このURLをリダイレクトURLで使用している場合は、アプリ設定に設定する必要があります。

これが助けになることを願っています。

10
Sumith Harshan

私のNodeアプリケーションの場合

"facebook": {
        "clientID" : "##############",
        "clientSecret": "####################",
        "callbackURL": "/auth/facebook/callback/"
    }

相対コールバックURLを置く

私のOAuthはURIを次のようにリダイレクトします

enter image description here

確実に"/"atをFacebook認証リダイレクトURIの末尾にする

これらの設定は私にとって役に立ちました。

7
NIKHIL C M

Valid OAuthリダイレクトURIの hauth.done = Facebook から hauth_done = Facebook に変更することで修正されました。

3
girlgeek

まず、これは非常に明確なエラーメッセージです。私の自己を含め、多くの開発者がこれを見逃しているだけです。こちらのスクリーンショットをご覧ください。

enter image description here

[製品]> [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:3000https://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、イメージ、およびプロバイダー。それでおしまい。

1
Elias Glyptis

私たちも同じ問題、こんな悪夢を見ました。

  1. アプリIDと秘密鍵が正しいことを確認してください。テスト用に別々の開発用、ステージング用、および本番用のアプリを使用している場合、アプリIDと秘密鍵はアプリごとに異なります。これはしばしば問題です。

  2. アプリの設定ファイルでコールバックURLが正しく設定されていることを確認してください(下記参照)。それから " Facebook Login "設定の下に " Valid OAuthリダイレクトURI "と同じURLを追加します。それはこのように見えるべきです(あなたの環境によります):

http://localhost/auth/facebook/callbackhttp://staging.example.com/auth/facebook/callbackhttp://example.com/auth/facebook/callback

  1. アプリケーションドメインが、 "www"と "no-www"の両方を含め、各環境に適したドメインに設定されていることを確認してください。 FacebookはまたあなたのウェブサイトやアプリプラットフォームのURLにマッチするためにこれらのドメインを要求します。これを追加するには、「 プラットフォームを追加 」を選択する必要があります。
0
kaleazy

私の場合は、アプリケーションドメインリダイレクトURLの両方に www が付いている場合と付いていない場合の両方のURLを確認してください。

enter image description here

私の場合は、リダイレクトURLに自分のサイトのURLの後に:signin-facebookを使用する必要がありました。

0
Hooman Bahreini

あなたのサイトのログインヘルパー

$ loginUrl = $ helper-> getLoginUrl( 'xyz.com/user_by_facebook/'、$ permissions);

とFacebookのアプリケーションダッシュボードで(製品タブの下: Facebookのログイン

有効なOAuthリダイレクトURI もxyz.com/user_by_facebook/と同じである必要があります

webからのリクエスト中に前述したように

0
zohaib

私の場合は、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 に移動した後、期待どおりに機能しました。

0
jausel

私の場合、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"/> 

そして、それは私の問題を修正しました。

0
lm2a

http://openstrategynetwork.com/ sigin-facebook をクライアントOAuth設定の有効なリダイレクトURLに追加してください。

0
Hung Vu