OAuth2を使用してユーザーのGoogleアカウントにログインするWebアプリケーションを開発しています。また、いくつかのGoogle Data APIにアクセスしているので、更新トークンとオフラインアクセスも要求しています(違いが生じる場合)。
私の問題は次のとおりです。アプリのユーザーが最初にログインし、OAuthを実行し、トークン/ユーザーIDをデータベースに保存した後、その後のアクセスでユーザーを識別するシステムを導入する必要があります。
これを行うには、GoogleユーザーID(「userinfo」エンドポイントの呼び出しによって取得)をSession変数に保存します。これは、ユーザーが自分のGoogleアカウントからログアウトし、場合によっては別のアカウント(私のアプリではなくGoogleに)でログインするまでは正常に機能します。この時点で、私のアプリには正しいログインユーザーがなく、適切なユーザーに属していないデータを表示できます。
ログインしたGoogleアカウントユーザーを効率的に特定する方法を知っている人はいますか?
いつでもuserinfoエンドポイントを呼び出すことができると思いますが、アプリケーションのすべてのページでこれを行うのはやり過ぎのようであり、より効率的なアプローチが必要です。
私はPHPでプログラミングしており、開発に「google-api-php-client」ライブラリを使用しています。
よろしくお願いします。