【问题标题】:Google Authentication via PHP Client Library/oAuth2通过 PHP 客户端库/oAuth2 进行 Google 身份验证
【发布时间】:2020-03-28 11:06:30
【问题描述】:

我已经在 Google 身份文档中搜索了很长时间,但我的问题似乎超出了它的范围 (https://developers.google.com/identity/protocols/OAuth2)。

这就是我所拥有的: 我有一个应用程序使用 Google 的 PHP 客户端库通过 oAuth2 对用户进行身份验证。我的应用程序存储从用户检索到的令牌和刷新令牌。我可以使用此令牌和刷新令牌从各种 Google API(驱动器、日历、邮件等)中提取信息。我还在浏览器中存储了一个 cookie,以在用户关闭浏览器时保持用户登录到应用程序。我为用户创建了一种简单的方法,可以通过与其存储的令牌和刷新令牌相匹配的 QR 码登录到应用程序。首次登录后,他们只需使用徽章即可登录应用程序。

这是我想要的,但不知道怎么做 当用户使用 QR 徽章登录应用程序时,一切正常(我仍然可以通过 PHP 客户端库/Google API 获取任何内容),但是当用户访问 Gmail、Drive 或其他 Google 服务时,Google 是要求他们登录(这是因为他们在技术上没有通过 accounts.google.com(仅限我的应用程序)进行身份验证)。有没有办法通过存储的令牌/刷新令牌以编程方式对 accounts.google.com 的用户进行身份验证?

【问题讨论】:

  • 我认为您的问题可能与此有关。请看这里stackoverflow.com/questions/9241213/…
  • @Morfinismo 感谢您的建议,但是当旧令牌过期时,我已经正确使用长寿命刷新令牌来获取新令牌。实际上 PHP 客户端库会自动执行此操作。我的 oAuth2 身份验证运行良好,并且可以长时间使用而不会过期。我的问题是我要在域 Accounts.google.com 上对用户进行身份验证,而无需用户使用用户名/密码登录。例如,在我看来,如果我显示来自 gmail 的内容,他们将能够自动登录到 gmail。

标签: authentication google-api-php-client google-oauth google-account


【解决方案1】:

我正在寻找一种适当的方法来将具有 Google 帐户的用户身份验证实施到我正在开发的应用程序中。一件事导致另一件事,我发现了这一点:

https://github.com/thephpleague/oauth2-google

根据您可能希望如何实现 OAuth2(通过单独的存储库),它们有一些实现。我相信这直接回答了您的问题,尽管是 3.4 年后。希望它会帮助正在寻找此信息的其他人。

【讨论】:

    猜你喜欢
    • 2015-02-26
    • 1970-01-01
    • 2013-07-20
    • 1970-01-01
    • 2011-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多