2017-10-05 381 views
0

我在本地部署中测试sonarqube web api。为了执行身份验证,我在安全性首选项中启用了“强制用户身份验证”,并在sonar.properties文件中更改了sonar.web.sso.enable=trueSonarqube API使用HTTPHeader中的任何随机值“X-Forwarded-Login”

启用后,我为管理员用户创建了一个授权令牌,并为网络API中的HTTPHeaderX-Forwarded-Login”添加了相同的令牌。但是当测试时,声纳服务器返回任何设置为“X-Forwarded-Login”标头的随机值的响应。

我的需求是仅返回有效authtoken的响应。

如何仅使用有效的验证令牌进行验证?我正在测试版本6.4。

+0

做你的请求成功,如果你不设置“X - 转发,登录” http头呢? – slartidan

+0

否。如果我没有设置标题,则请求失败。 –

回答

2

X-Forwarded-Login标题和sonar.web.sso.enable=true告诉SonarQube不做任何身份验证,但信任SonarQube前面的反向代理。

在SonarQube前面的反向代理有责任检查/验证(或重定向到第三方认证服务)的用户,并通过添加报头以SonarQube发送用户的请求:

  • X - 转发,名称
  • X - 转发,登录
  • X - 转发,电子邮件
  • X - 转发,组

如果您只是想使用令牌,只需删除sonar.web.sso.enable=true,与您的用户(使用本机SonarQube认证)创建一个令牌,然后使用HTTP头字段login中的令牌在您的HTTP请求中提供令牌。

你会发现这里的文档:https://docs.sonarqube.org/display/SONAR/User+Token