【发布时间】:2017-10-07 03:30:52
【问题描述】:
我按照question 中提到的公认答案生成 OAuth2 令牌。但是我得到 HTTP 401 响应。当我调试时,我看到 clientid 和 clientsecret 没有作为 HTTP 请求中表单的一部分传递。我只看到下面列出的值被传递。为了通过clientid 和clientsecret,我还应该做些什么吗?
{grant_type=[password], username=[username], password=[password]}
【问题讨论】:
-
@dur 在标题中我看到 [Authorization=[Basic Y3RwX2lkOmN0cF9zZWNyZXQ=]]
-
当我使用 rest client 运行它时,我将所有这些作为表单正文的一部分传递。
-
@dur 授权服务器由我无权访问的第三方应用程序管理。客户端 ID 和密码与您提到的相同。我怀疑的另一件事是内容类型。使用外部休息客户端运行时,我将内容类型提供为“application/x-www-form-urlencoded”。但是我没有在程序中明确设置。我必须这样做吗?
-
它现在可以工作了 :) 必须设置 resource.setClientAuthenticationScheme(AuthenticationScheme.form);
标签: java spring spring-boot spring-security oauth-2.0