LoginSignup
6
4

More than 5 years have passed since last update.

プロキシ経由でFacebookログインを実装する時の注意

Last updated at Posted at 2014-07-11

リバースプロキシ経由でWebサーバにつなぐような構成の場合
Facebookインスタンス生成時にtrustForwardedをtrueにする必要があります


$facebook = new Facebook(array(
   'appId'  => 'xxxx',
   'secret' => 'xxxxxxxxxxxxxxxxxxxxxxxx',
   'allowSignedRequest' => false,
   'trustForwarded' => true
));

リクエスト上のドメインが登録済みのものであっても、プロキシ経由でtrustForwardedがfalseになっていると、$_SERVER['HTTP_X_FORWARDED_HOST']ではなく$_SERVER['HTTP_HOST']を見に行ってしまい、リダイレクトURIのチェックでエラーになってしまいます

An active access token must be used to query information about the current user.

通常、リダイレクト先のドメインが登録されていないと
以下のような画面が表示されるため、解決するのに非常に苦労しました。

指定されたURLは、アプリケーションの設定で許可されていません。: 指定されたURLの中にアプリの設定で認められないものが含まれています。ウェブサイトまたはキャンバスのURLと一致しているか、ドメインがアプリのドメインのサブドメインである必要があります。
6
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
6
4