我已经通过在依赖项中包含spring-boot-starter-security来保护Spring Boot Application(默认配置)。 我需要使用使用带有UTF-8 CharSet的Base64格式的基本授权来访问它。 我是春天安全的新手,不知道怎么做!请求应该是这样的:
curl -H "Content-Type: application/json" -X POST -d '{"XXX":["XXX", "XXX", "XXX", "XXX", "XXX", "XXX"]}' -H "Authorization: Basic b3B0dXM6Y2FuZGlkYXRlcw==" http://localhost:8080/XXX-api/search
我甚至试过这个:
curl -H "Content-Type: application/json" -H 'Authorization:Basic user:0bf582f
0-6988-42ee-9f31-d993cd83ad7b' -X POST -d '{"XXX":["XXX", "XXX", "XXX
", "XXX", "XXX", "XXX"]}' http://localhost:8080/XXX-api/search
但得到了这个错误:
{"timestamp":1484797035123,"status":401,"error":"Unauthorized","message":"Failed
to decode basic authentication token","path":"/XXX-api/search"}
有人可以帮助我并告诉我如何生成卷曲请求的授权部分吗?
注意:使用浏览器发送请求时,它会要求我输入用户名和密码,然后工作正常!
提前致谢!
答案 0 :(得分:1)
你应该base64编码username:password
,例如user:0bf582f0-6988-42ee-9f31-d993cd83ad7b
,base 64 online
Base64编码:用户:0bf582f0-6988-42ee-9f31-d993cd83ad7b
结果:dXNlcjowYmY1ODJmMC02OTg4LTQyZWUtOWYzMS1kOTkzY2Q4M2FkN2I
然后发送带有编码用户名密码
的请求 curl -H "Content-Type: application/json" -H 'Authorization:Basic dXNlcjowYmY1ODJmMC02OTg4LTQyZWUtOWYzMS1kOTkzY2Q4M2FkN2I' -X POST -d '{"XXX":["XXX", "XXX", "XXX", "XXX", "XXX", "XXX"]}'