phpで graph apiを使用して、facebookのアカウント連携を行おうとしています。
https://github.com/facebook/php-graph-sdk
こちらのREADMEを参考にPHPで書いたのですが、
Facebookに飛んだ際に
「セキュアではないログインがブロックされました: アクセストークンを取得することも、セキュアではないページからこのアプリにログインすることもできません。https://でページを再読み込みしてください。」
と出てしまいます。
また、ローカル環境でvagrantでhttpsで構築した同一の環境だとすんなりFacebookの認証が通ります。
こちら参考となるURLを探したのですがヒットしなくて同一の問題が発生された方は教えていただけますでしょうか。
今更ですが、cakephp2で作成しています。
public function index(){ if (!session_id()) { session_start(); } $this->autoRender = false; $this->facebook = $this->fb(); $helper = $this->facebook->getRedirectLoginHelper(); $permissions = ['email']; // optional //$loginUrl = $helper->getLoginUrl(Router::url('/Facebook/callback',true), $permissions); $loginUrl = $helper->getLoginUrl('https://hoge.com//Facebook/callback', $permissions); $this->redirect($loginUrl); } public function callback() { if (!session_id()) { session_start(); } $this->facebook = $this->fb(); $helper = $this->facebook->getRedirectLoginHelper(); try { $accessToken = $helper->getAccessToken(); } catch(Facebook\Exceptions\FacebookResponseException $e) { // When Graph returns an error echo 'Graph returned an error: ' . $e->getMessage(); exit; } catch(Facebook\Exceptions\FacebookSDKException $e) { // When validation fails or other local issues echo 'Facebook SDK returned an error: ' . $e->getMessage(); exit; } if (!isset($accessToken)) { if ($helper->getError()) { header('HTTP/1.0 401 Unauthorized'); echo "Error: " . $helper->getError() . "\n"; echo "Error Code: " . $helper->getErrorCode() . "\n"; echo "Error Reason: " . $helper->getErrorReason() . "\n"; echo "Error Description: " . $helper->getErrorDescription() . "\n"; } else { header('HTTP/1.0 400 Bad Request'); echo 'Bad request'; } exit; } } private function fb() { return new Facebook\Facebook([ 'app_id' => '11111111111111111111111111', 'app_secret' => '222222222222222222222222', 'default_graph_version' => 'v2.10', ]); }
あなたの回答
tips
プレビュー