【发布时间】:2020-04-04 07:08:51
【问题描述】:
我正在尝试使用 SonarQube 7.9.1 CE Web API 从 Java Spring Boot 应用程序中的服务器检索一些信息,我从一个非常简单的开始:项目列表。
事实证明,我需要通过令牌或通过用户/密码组合提供我的身份信息。但官方文档和 StackOverflow 答案仅显示 CURL 请求作为示例:
curl -u admin:admin http://localhost:9000/api/components/search_projects
curl -u 9548utj958tju5498jt934: http://localhost:9000/api/components/search_projects
我一直在尝试使用 RestTemplate 发送请求,但总是收到 401 UNAUTHORIZED 错误。
我应该如何发送用户令牌? 在请求标头中?作为请求参数的一部分?没人说。
我尝试通过 Authorization 标头使用 Bearer 9548utj958tju5498jt934,Basic 9548utj958tju5498jt934,在请求中插入一个参数,但没有任何效果.
谢谢。
【问题讨论】:
-
看看here?
-
是的,@jeroen-heier,这正是问题所在,没有特定于语言的演示,只有一个 CURL 示例。我发现问题出在哪里:在将其编码为base64之前,需要在token的末尾添加一个冒号,然后可以将编码后的字符串作为请求头发送:encodedToken = Base64.encode((token + ": ").getBytes()); Authorization("Basic " + encryptedToken) 这是代码的近似值,我现在不记得确切的语法了。谢谢。
标签: java api sonarqube authorization token