【问题标题】:Sending Curl http Request to Secured Spring Boot Application向安全的 Spring Boot 应用程序发送 Curl http 请求
【发布时间】:2017-01-19 12:30:39
【问题描述】:

我已经保护了 Spring Boot 应用程序(通过在依赖项中包含 spring-boot-starter-security 的默认配置)。 我需要使用 使用带有 UTF-8 CharSet 的 Base64 格式的基本授权来访问它。 我是spring security的新手,不知道该怎么做!请求应该是这样的:

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"}

谁能帮助我并告诉我如何生成 curl 请求的授权部分?

注意:使用浏览器发送请求时,它会要求我输入用户名和密码,然后就可以正常工作了!

提前致谢!

【问题讨论】:

    标签: spring curl spring-boot spring-security


    【解决方案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"]}'

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-06-05
      • 2021-07-06
      • 2019-12-26
      • 2022-10-23
      • 1970-01-01
      • 2020-01-18
      • 1970-01-01
      • 2018-12-20
      相关资源
      最近更新 更多