Spring 启动:需要完全身份验证才能访问此资源

Spring Boot: Full authentication is required to access this resource

我正在使用此 post https://github.com/angel-git/wso2is-springoauth 中的 wso2is 服务器做 Spring 引导安全性示例,当我尝试使用访问令牌访问资源时,我得到

{"error":"unauthorized","error_description":"Full authentication is required to access this resource"}

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

curl -u CLIENT_ID:CLIENT_SECRET-k -d "grant_type=password&username=admin&password=admin" -H "Content-Type:application/x-www-form-urlencoded" https://localhost:9443/oauth2/token

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

curl -H GET "Authorization: ACCESS_TOKEN" http://localhost:8080/greeting

我在 Whosebug 上找到了很多解决方案,但不幸的是无法解决我的问题

请帮忙,谢谢

非常感谢帮助我解决问题的Angel Gavalda。我使用以下命令生成访问令牌和访问资源

用于生成访问令牌:-

curl -k -d 'grant_type=client_credentials&client_id=yourClientId&client_secret=yourClientSecret' https://localhost:9443/oauth2/token

访问资源:-

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

我收到了与

相同的错误消息
"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

如果上述答案无法解决此问题,请将文件 api-manager.xml.

中的 OAuthConfigurations/RemoveOAuthHeadersFromOutMessage 更改为 false