我正在使用 DHC Web 客户端在 FIWARE-Lab 的 KeyRock GE 实例上测试授权代码授予协议。
到目前为止,我已经成功实现了授权请求,并且我获得了用于访问令牌请求的代码。授权请求的 URL 如下(虽然不是在 DHC 上执行,而是在普通浏览器上执行,所以我可以介绍我的用户和密码):
https://account.lab.fiware.org/oauth2/authorize/?response_type=code&client_id=2122&redirect_uri=http%3A%2F%2Flocalhost%2FCallback
我已经检查了 client_id 和 redirect_uri 在我的 FIWARE-Lab 帐户中与我的应用程序相关的值是否正确。
执行以下请求(无法发布图片,所以我会描述)
POST
https:// account.lab.fiware.org/oauth2/token?grant_type=authorization_code&code=<code>&redirect_uri=http%3A%2F%2Flocalhost%2FCallback -- <code> is the code obtained on the Auth. Request
Authorization: Basic <XXXX> --- <XXXX> is the result of base64(client_id+":"+client_secret)
Content-Type: application/x-www-form-urlencoded
...我收到以下错误消息:
{
"error":{
"message": "create_access_token() takes exactly 3 arguments (2 given)",
"code": 400,
"title": "Bad Request"
}
}
我已经检查了授权是否正确(基本使用我的应用程序中的 OAuth 凭据),并且我使用的是在上一个授权请求中使用的相同 redirect_uri,以及从中获得的代码。
怎么了?
PS:如果我删除任何或所有查询参数,我仍然会得到同样的错误