如何使用 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 中有详细解释
我希望这能让其他人摆脱我所经历的挫败感。
我正在尝试使用在 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 中有详细解释我希望这能让其他人摆脱我所经历的挫败感。