我正在开发一个使用 OAuth2 使用他们的 Google 帐户登录用户的网络应用程序。我也在访问一些谷歌数据 API,所以我也要求刷新令牌和离线访问(以防它有所作为)。
我的问题如下:在应用程序的用户第一次登录后,OAuth 和我将令牌/用户 ID 保存在数据库中,我需要有一个在后续访问中识别用户的系统。
为此,我将 Google 用户 ID(通过调用“userinfo”端点获得)保存在 Session 变量中。这工作正常,直到用户退出他们的 Google 帐户并可能使用另一个帐户(到 Google,而不是我的应用程序)登录。此时,我的应用程序不再具有正确的登录用户,并且可以显示不属于正确用户的数据。
有谁知道我如何有效地识别登录的 Google 帐户用户?
我想我总是可以调用 userinfo 端点,但是在我的应用程序的每个页面上执行此操作对我来说似乎有点过分,并且想要一种更有效的方法。
我正在使用 PHP 编程并使用“google-api-php-client”库进行开发。
预先感谢您的帮助。