运行sparklr2
和tonr2
没有问题(代码授权许可),开箱即用,没有任何修改。
想尝试密码授予。尝试了GET
和POST
参数
?grant_type=password&client_id=my-trusted-client&username=marissa&password=koala
如果我理解正确,.withClient("my-trusted-client").authorizedGrantTypes("password",...)
表示此设置支持密码授予,对吧?
GET
,POST
都返回http 401, blocked by AnonymousAuthenticationFilter.doFilter(), SecurityContextHolder.getContext().getAuthentication() return null
。
所以,这是否意味着,即使username
& password
参数,我仍然需要在头文件中放置身份验证(在base64中)?或其他我做错了什么?
答案 0 :(得分:0)
我在跟踪spring oauth2
源代码后想出来了。
即使username
& password
主体中的POST
,令牌端点仍然需要可以访问身份验证。
并且对于密码授予,http标头中的身份验证不是username
& password
(sparklr2用户),但必须使用client_id
和client_secret
。使用base64编码"client_id:secret"
,将其放入请求标头中,现在可以访问令牌端点。