繁体   English   中英

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

[英]Yii2 OpenId Connect error - yii2-authclient returns 400 error “Token not provided” when I try to getUserAttributes()

我正在使用yii2-authclient库将OpenId Connect集成到我的Yii2应用程序中。 我可以登录并毫无问题地交换令牌代码。 我已经在网络上跟踪了大多数代码示例,并设置了一个成功调用函数,一旦用户成功登录,该函数就会被调用。它看起来像这样:

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

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

异常– yii \\ authclient \\ InvalidResponseException
请求失败,代码:400,消息:
{“错误”:“ invalid_request”,“错误说明”:“未提供令牌”}

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

我仔细查看了我发出的请求,然后看到一个access_token元素。 任何想法可能是什么问题? 如果需要,我可以提供更多信息。

我想到了。 问题在于yii2-authclient库正在将令牌作为GET参数发送,而ID服务器则将其作为POST参数。 我升级了yii2-authclient库,由于最近的更改将参数发送为POST而不是GET,因此解决了该问题。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM