PHPクライアントライブラリをgoogle/auth パッケージのみに変更した

1年ほど前から本サイトではログイン時にGoogle OAuthを利用しています。そのプラグインの開発ではPHPクライアントライブラリを使用していたのですが、このライブラリは汎用性が高い多機能なこともあり、ファイルサイズが大きいことが気になっていました。この週末にもう少しコンパクトにできないかと思い、ちょっと調べてみました(ありがとう、ChatGPT先生)。

先生曰く、Google OAuthの利用だけれあればgoogle/auth パッケージのみで対応できるとのこと。google/auth パッケージはPHPクライアントライブラリにも含まれているので、さっそく試してみた。

変更したアクセストークンの検証部分は次のような感じ。

上記を次のように変更してみた。

本番サイトのプラグインを更新して試したところ、何の問題もなくログインできた。

Composerでgoogle/auth パッケージを取得し、プラグイン内のvenderディレクトリを差し替えてます。

本番サイトのプラグインを再度更新してログインしようとしたところ、アクセストークンを検証するAJAXリクエストが404エラーになっていました。リロードするなどして数回試しても変化がなかったため、エラーログを確認してみると、次のような内容が書き出されていました。

というわけで、Composerでphpseclib/phpseclib v3を追加。

無事、本番サイトでログインできるようになりました。今回のケースでは、google/auth パッケージにphpseclib/phpseclib v3が必須ということですね。

さて、今回の目的はPHPクライアントライブラリ部分の軽量化なので、実際にvenderディレクトリの容量を確認してみます。

容量は約10MB、変更前の1/27とかなりコンパクトになったようです。