web-dev-qa-db-ja.com

Facebookアプリで「リダイレクトURIに厳密モードを使用する」をオフにする方法

FacebookアプリでオプションUse Strict Mode for Redirect URIsをオフにする方法はありますか? 2018年3月現在、このプロパティは自動的にオンになり、グレー表示されているため、無効にすることはできません。 Facebookは、Valid OAuth Redirect URIsに正確なURLが記載されていない限り、認証を許可しないようです。これは、Sitecore Social Connectedモジュールがログインするたびにクエリ文字列の異なる状態パラメーターを渡すように見えるため問題です。FacebookアプリでRedirect URI Validatorを使用してテストし、リダイレクトがValid OAuth Redirect URIsごとに正確に。

10
Matthew Dresser

オプションをオフにする方法はありますかUse Strict Mode for Redirect URIs Facebookアプリで?

いや

Facebookにセキュリティの変更が加えられたため、この設定をオフにすることはできなくなりました。


SitecoreとSocial Connectedモジュールの詳細については、@ CBroeのコメントからValid OAuth Redirect URIsには、次のようにクエリ文字列パラメーターを含める必要があります。

http://example.com/layouts/Social/Connector/SocialLogin.ashx?type=access

以前私は持っていた

http://example.com/layouts/Social/Connector/SocialLogin.ashx

HTTPSを使用している場合は、ポート番号とともにURIも入力する必要があります。

https://example.com:443/layouts/Social/Connector/SocialLogin.ashx?type=access

この最後の点は、最近のFacebookアプリの変更とは関係ありません。

7
Matthew Dresser

同じ経験、私はそれをオフにすることができませんでした。最終的に私のために働いたのは

サイトにログインプロセスを開始するリンクがあります。

https://www.example.com/users/auth/facebook

これに従うと、Railsアプリがリダイレクトされます

https://www.facebook.com/v2.6/dialog/oauth?client_id=1234&redirect_uri=https%3A%2F%2Fwww.example.com%2Fusers%2Fauth%2Ffacebook%2Fcallback&response_type=code&scope=email&state=123456

Facebookからの返信

https://www.example.com/users/auth/facebook/callback?code=abcverylongcodexyz

そのため、ホワイトリストに登録する必要があるURIは、「 https://www.example.com/users/auth/facebook/callback 」であり、コード部分はありません。

FWIW、サイトをhttpからhttpsに移動したときに、config/initializers/devise.rbを更新して含める必要がありました

config.omniauth :facebook, '1234', '34567', :scope => 'email', :callback_url => 'https://www.example.com/users/auth/facebook/callback'

コールバックURLでまだhttp:プロトコルを使用していたため、現在のガイドラインではそのプロトコルのURIをホワイトリストに登録することはできません。

0
Jeff