NO IMAGE

HybridauthでFacebookログインエラーが出る時の対処法

HybridAuthは簡単にSNSログインが実装できる優秀なライブラリですが、Facebookログイン周りでエラーが発生したので原因を調べてみました。
HybridAuth Facebook Error

いきなり結論から言うとアプリの登録情報不足が原因です。
大量の個人情報を抱える分、アプリ開発者の身元確認やサポート情報がしっかりと登録されてないといけないようですね。
HybridAuthの場合は取得しようとする情報が最初から多いようで、これに引っかかっていたようです。

というわけで、解決策は2つ。

  • 登録情報を増やす
  • 取得する情報を減らす

今回は特に個人情報収集する理由がないので、簡単な「取得する情報を減らす」方でいきます。

といっても1行変えるだけ。

hybridauth/Hybrid/Providers/Facebook.php
[php] // public $scope = "email, user_about_me, user_birthday, user_hometown, user_location, user_website, read_stream, publish_actions";
// $scopeの中身を減らす↓
public $scope = "email";
[/php]

これだけでエラーが出なくなります。
取得する情報を減らしたくない方は公式で「Facebookログインをアプリまたはウェブサイトに追加する」というリファレンスが出ているので、参考にすると良いでしょう。

そのうちやる気が出たらブログでも解説します。