如何使用 Google API PHP 客户端获取 OpenID 2.0 标识符

How to get OpenID 2.0 identifiers using Google API PHP Client

我正在尝试使用在 https://github.com/google/google-api-php-client. I've got the example code from the bottom of https://developers.google.com/api-client-library/php/auth/web-app 找到的库从 OpenID 2.0 迁移到 OpenID Connect,但我不知道如何使用该库来获取 OpenID 2.0 标识符。

Google 上的大部分文档都推荐使用这些库,但只提供了与 HTTP 请求相关的迁移说明。我花了几个小时试图解决这个问题,但我只是没有运气。有什么想法吗?

好吧,我终于弄明白了(天哪,这很烦人)。这是我所做的:

之后

$client = new Google_Client();

我加了

$client->setOpenidRealm('http://domain');

我把范围改成

$client->addScope("openid profile ".Google_Service_Oauth2::USERINFO_PROFILE);

然后,一旦我有了访问令牌,我就使用了

$token_data=$client->verifyIdToken()->getAttributes();

其中 returns 一个包含有用信息的数组,在 https://developers.google.com/identity/protocols/OpenIDConnect#server-flow

的 table 中有详细解释

我希望这能让其他人摆脱我所经历的挫败感。