Php Yii2 OpenId连接错误-Yii2 authclient返回400错误“;“未提供代币”;当我尝试获取userattributes()时

Php Yii2 OpenId连接错误-Yii2 authclient返回400错误“;“未提供代币”;当我尝试获取userattributes()时,php,yii2,openid-connect,yii2-authclient,Php,Yii2,Openid Connect,Yii2 Authclient,我正在使用yii2authclient库将OpenId连接到我的Yii2应用程序中。我可以登录并将代码交换为令牌,没有问题。我遵循了web上的大多数代码示例,设置了一个successCallback函数,一旦用户成功登录,就会调用该函数。看起来是这样的: public function successCallback(ClientInterface $client) { $attributes = $client->getUserAttributes(); } 调用此代码,但调

我正在使用yii2authclient库将OpenId连接到我的Yii2应用程序中。我可以登录并将代码交换为令牌,没有问题。我遵循了web上的大多数代码示例,设置了一个successCallback函数,一旦用户成功登录,就会调用该函数。看起来是这样的:

public function successCallback(ClientInterface $client) 
{
    $attributes = $client->getUserAttributes();
}
调用此代码,但调用
getUserAttributes()
会导致以下错误:

异常–yii\authclient\InvalidResponseException
请求失败,代码:400,消息:
{“错误”:“无效的请求”,“错误描述”:“未提供令牌”}

id服务器上的日志显示一个空的客户端和用户,错误为
无效\u令牌


我仔细查看了我发出的请求,看到了一个
access\u令牌
元素。你知道问题出在哪里吗?如有必要,我可以提供更多信息。

我想出来了。问题在于,yii2 authclient库将令牌作为GET参数发送,而ID服务器希望它作为POST参数。我升级了Yi2 authclient库,解决了这个问题,因为最近的一次更改将参数作为POST而不是GET发送。

更多信息:下面是我点击的URL:
https://id.dev.[url已删除].com/auth/realms/terradatum/protocol/openid connect/userinfo?access_token=eyJhb[token的其余部分已删除]
并且我得到了以下响应:
{“错误”:“无效请求”,“错误描述”:“未提供令牌”}