Spring Boot:访问此资源需要完全身份验证

时间:2016-06-03 11:01:30

标签: security spring-boot access-token wso2is

当我尝试使用访问令牌访问资源时,我正在使用wso2is服务器从https://github.com/angel-git/wso2is-springoauth开始执行Spring Boot Security的示例

  

{“error”:“unauthorized”,“error_description”:“访问此资源需要完全身份验证”}

我通过以下方式生成访问令牌:

  

curl -u CLIENT_ID:CLIENT_SECRET-k -d   “grant_type =密码&用户名= admin&密码= admin”-H   “内容类型:应用程序/ x WWW的形式进行了urlencoded”   https://localhost:9443/oauth2/token

并通过以下方式访问资源:

  

curl -H GET“授权:ACCESS_TOKEN”   http://localhost:8080/greeting

我在stackoverflow上找到了很多解决方案,但遗憾的是无法解决我的问题

请帮助,谢谢

3 个答案:

答案 0 :(得分:10)

我收到了与

相同的错误消息
"curl http://localhost:8080/spring4/beans" :
{"timestamp":1493591079040,"status":401,"error":"Unauthorized","message":"Full authentication is required to access this resource.","path":"/spring4/beans"}

application.properties中设置以下属性会绕过安全检查&我可以使用所有的acuator端点:

management.security.enabled=false

答案 1 :(得分:2)

天使加瓦尔达帮助我解决了问题。我使用以下命令生成访问令牌和访问资源

用于生成访问令牌: -

  

curl -k -d   ' grant_type = client_credentials&安培; CLIENT_ID = yourClientId&安培; client_secret = yourClientSecret'   https://localhost:9443/oauth2/token

访问资源: -

  

curl -k -H"授权:Bearer $ ACCESS_TOKEN"   http://localhost:8080/greeting

答案 2 :(得分:0)

如果上述答案无法解决此问题,请在OAuthConfigurations/RemoveOAuthHeadersFromOutMessage文件中将false更改为api-manager.xml