隐式授权类型:无效的grant_type参数值WSO2

时间:2017-10-02 15:55:16

标签: oauth-2.0 wso2

我尝试在请求后使用隐式授权类型在WSO2上的应用程序中生成访问令牌:

POST /token HTTP/1.1
Host: localhost:8243
Content-Type: application/x-www-form-urlencoded
Cache-Control: no-cache
Postman-Token: d6ef6038-9860-bdc6-3867-70af98b37cc6

grant_type=code&response_type=implicit&client_id=CLIENT_ID&redirect_uri=http%3A%2F%2Flocalhost%3A8888%2Fplayground%2Foauth2client&scope=default

请求返回此错误:

{
    "error_description": "Invalid grant_type parameter value",
    "error": "invalid_request"
}

这是我的授权类型设置:

Grant Types

为什么会发生此错误,但设置包含隐式授权类型?

1 个答案:

答案 0 :(得分:1)

我认为你混淆了一些事情。如果您想使用Implicit grant,则不要使用/token端点 - 您可以从授权端点获取所有内容。请求可能如下所示:

/auth?response_type=token&client_id=...&redirect_uri=...

并且在成功进行身份验证后,客户端会立即获取访问令牌,作为重定向URL的一部分。

如果您有代码并且想要将其替换为访问令牌和刷新令牌,那么您使用的是Authorization code grant。然后,正确的grant_type值为authorization_code,您必须在code网址参数中指定代码。因此,您收到的错误消息是正确的。

最后,token端点没有response_type参数。它是authrization endpoint的一个参数,隐式流的正确值是token,因为您希望返回一个访问令牌。