WordPress : Facebook連携にGianismの代わりに「Nextend Social Login」を使った

WordPressとFacebook連携をさせるため、以前利用したことのある「Gianism」といういプラグインを検討していましたが、久々にFacebookアプリの事情を調べたところGianismは止めることにしました。

理由は、Facebookが2018年3月に予定している仕様変更でGianismの仕組みでは連携できなくなる可能性が高く、少なくともGianismがFacebookの新仕様に対応しなければ使えず、プラグインの更新を待たなくてはならないためです。

Gianism側の問題

GianismはFacebook連携する時に以下のようなリダイレクトURLを使っています。

http://www.***.com/facebook/?code=****************

2018年3月からこのようなトークン型のURLが使えなくなり、アプリ側の設定で指定した固定のURLしか連携に利用できなくなります。

実は現時点(2018年2月)でGianismの設定が上記のようなURLで認証ができなかったため、原因を調べているうちに気付けました。

Facebook側の仕様変更

Facebookログイン設定の画面で派手に出ているので気付きやすいですが、「有効なOAuthリダイレクトURI」の設定が必須になります。

https://developers.facebook.com/docs/facebook-login/security/#strict_mode

こちらの公式ドキュメントにある通りトークン受け渡し型のURLでは認証できなくなるため、Gianismはこの仕様に対応するまで使えなくなります。

「Nextend Social Login」を利用

Gianismの代わりに「Nextend Social Login」を試したところ、詰まることなくスムーズにFacebook連携することができました。

選んだ理由は以下です。

  • インストール数が多い(10万件以上
  • 更新頻度が高い(2018年2月下旬に更新あり
  • 設定手順の中に「有効なOAuthリダイレクトURI」の設定が指示されている

以上から不安要素は少なくFacebookの仕様対応も問題ないと考えます。

Nextend Social Loginで追加されるusermetaデータ

若干カスタマイズする必要があったので、連携した時にどういうデータが追加されるか調べました。必要だったのが usermeta データだけだったので他は確認していませんが参考まで。

fb_user_access_token   // アクセストークン
fb_profile_picture     // Facebook側の画像URI