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