2017-10-05 5 views
0

Ich teste Sonarqube Web API in meiner lokalen Bereitstellung. Um die Authentifizierung zu erzwingen, habe ich in den Sicherheitseinstellungen die Option "Benutzerauthentifizierung erzwingen" aktiviert und in der Datei sonar.properties die Datei sonar.web.sso.enable=true geändert.Sonarqube API arbeitet mit jedem beliebigen Wert im HTTPHeader "X-Forwarded-Login"

Nach der Aktivierung habe ich ein Authentifizierungs-Token für den Admin-Benutzer erstellt und das gleiche Token in HTTPHeader "X-Forwarded-Login" für die Web-API hinzugefügt. Aber wenn er getestet wird, gibt der Sonar-Server die Antwort für jeden zufälligen Wert zurück, der auf den Header "X-Forwarded-Login" gesetzt ist.

Meine Notwendigkeit ist, Antwort nur mit gültigen Authtoken zurückgeben.

Wie validiere ich nur mit gültigen Auth-Tokens? Ich teste mit Version 6.4.

+0

Sie Ihre Anfrage erfolgreich sein, wenn Sie die „X-Forwarded-Login“ http-Header überhaupt nicht festgelegt? – slartidan

+0

Nein. Wenn ich den Header nicht setze, schlägt die Anfrage fehl. –

Antwort

2

Die X-Forwarded-Login Kopfzeile und sonar.web.sso.enable=true sagen SonarQube, keine Authentifizierung durchzuführen, sondern den Reverseproxy vor SonarQube zu vertrauen.

Der Reverse-Proxy vor Sonarqube hat die Aufgabe, zu überprüfen/authentifizieren (oder an einen Dritten Authentifizierungsdienst Redirect) des Benutzers und die Anfrage des Benutzers zu senden, indem die Header Sonarqube:

  • X-Forwarded-Name
  • X-Forwarded-Anmeldung
  • X-Forwarded-Email
  • X-Forwarded-Gruppen

Wenn Sie nur ein Token verwenden möchten, entfernen Sie einfach sonar.web.sso.enable=true, erstellen Sie ein Token mit Ihrem Benutzer (mit der systemeigenen SonarQube-Authentifizierung) und verwenden Sie das Token im HTTP-Headerfeld login, um das Token in Ihrer HTTP-Anfrage bereitzustellen.

Sie in der Dokumentation finden Sie hier: https://docs.sonarqube.org/display/SONAR/User+Token

Verwandte Themen