2017-10-05 32 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