Logicky BLOG

Logickyの開発ブログです

  • Javascript
  • Python
  • PHP
  • Go
  • OS・サーバ
  • 機械学習
  • つくったもの
  • 数学
  • アルゴリズム
  • Logicky

さくらレンタルサーバのSIN SSL利用してると、Facebook APIがエラーになる

エラーは下記です。

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

恐らくさくらのレンタルサーバのSSL使うと、httpsアクセスだと認識されないことが原因なのではないかと思った。facebookのSDKみたらやはり、$_SERVER['HTTPS']を見てたので、下記のようにしたらできた。

if(isset($_SERVER['HTTP_X_SAKURA_FORWARDED_FOR'])){
    $_SERVER['HTTPS'] = 'on';
}

ちなみに、このプログラムはcakePHP2を使っているのですが、twitterやfacebookなどのコールバックURLをRouter::url()を使って動的に取得させていて、これまたhttpsアクセスしてるのにhttpsと勘違いされて、http://***というアドレスにされてしまっていた。これについては、core.phpのConfigure::write('App.fullBaseUrl', 'http://example.com');に、httpsアドレスをベタ打ちしたら大丈夫になった。

  • Javascript
  • Python
  • PHP
  • Go
  • OS・サーバ
  • 機械学習
  • つくったもの
  • 数学
  • アルゴリズム
  • Logicky