当我尝试使用访问令牌访问资源时,我正在使用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上找到了很多解决方案,但遗憾的是无法解决我的问题
请帮助,谢谢
答案 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
。