Yii2 OpenId Connect错误 - yii2-authclient返回400错误"未提供令牌"当我尝试getUserAttributes()时

时间:2018-06-06 14:59:06

标签: php yii2 openid-connect yii2-authclient

我使用yii2-authclient库将OpenId Connect实现到我的Yii2应用程序中。我可以登录并交换令牌代码,没有任何问题。我已经跟踪了Web上的大多数代码示例,并设置了一个在用户成功登录后调用的successCallback函数。它看起来像这样:

public function successCallback(ClientInterface $client) 
{
    $attributes = $client->getUserAttributes();
}

调用此代码,但调用getUserAttributes()会导致以下错误:

  

异常 - yii \ authclient \ InvalidResponseException
  请求失败,代码为:400,消息:
      {"错误":" invalid_request"," error_description":"未提供令牌"}

id服务器上的日志显示空白客户端和用户,错误为invalid_token

我仔细查看了我的请求,并看到access_token元素。任何想法可能是什么问题?如有必要,我可以提供更多信息。

1 个答案:

答案 0 :(得分:0)

我明白了。问题是yii2-authclient库正在将令牌作为GET参数发送,并且ID服务器期望它作为POST参数。我升级了yii2-authclient库并解决了问题,因为最近的更改将参数发送为POST而不是GET。