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
ごとに正確に。
オプションをオフにする方法はありますか
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アプリの変更とは関係ありません。
同じ経験、私はそれをオフにすることができませんでした。最終的に私のために働いたのは
サイトにログインプロセスを開始するリンクがあります。
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をホワイトリストに登録することはできません。