2017-12-12 27 views
0

안녕하세요,음파 탐지기 6.7 SSO - 인증을 트리거하는 방법? 이

우리는 몇 시간 동안 우리는 군중 플러그인이 SSO를 지원하지 않기 때문에, ID 공급자 (군중) 인증을 만든 SSO 플러그인을 사용했습니다. 이제 우리는 Sonar를 새로운 LTS 6.7로 업그레이드하기로 결정했습니다. 그러나 우리 플러그인은 HttpSession 객체 (서블릿 필터 내에서 생성됨)를 사용하고 있었는데, 소나는 이제는 더 이상 지원되지 않습니다. OAuth2를 사용하고 있지 않습니다.

나는 약간의 검색을 해왔지만 어떻게 인증을 받아야하는지 혼란 스럽다. Crowd 측의 통신이 성공했으며 사용자 세부 정보와 세션 토큰이 제공됩니다. 내 플러그인에는 기존의 사용자 지정 인증 프로그램, UserProvider 및 GroupProvider가 있으며 정상적으로 작동합니다.

그러나 인증은 음향 측에서 발생하지 않습니다. 소나가 doAuthenticate 메서드를 트리거하여 내 인증 프로그램을 재정의하는 방법을 찾지 못했습니다.

사용자가 아무 것도하지 않아도되기 때문에 BaseIdentityProvider을 사용할 수 없습니다. 사용자가 Crowd 쿠키를 갖고 있거나 Crowd 로그인 페이지로 리디렉션되어 연결될 수 있으면 자동으로 연결해야합니다. 그리고 내 이해로 BaseIdentityProvider 그냥 외부 ID 공급자와 연결하는 옵션을 추가합니다.

서블릿 필터 코드에서 인증을 트리거하는 방법을 알고 있습니까? 아니면 처음부터 완전히 다른 방식으로 사용해야합니까?

답변

3

어떤 버튼을 클릭 할 필요없이 SonarQube에 인증하는 유일한 방법은 HTTP 헤더를 사용하는 것입니다.

자세한 내용은 documentation을 참조하십시오.

+0

먼저 빠른 답변을 보내 주셔서 감사합니다. 이것은 '새로운'HTTP 헤더 인증을 사용하지 않고 관리했기 때문에 다소 당황했습니다. 나는 실제로'init (Context)'메소드 내에서'authenticate'를 던져 넣은'BaseIdentityProvider'를 확장했습니다. 그런 다음 서블릿 필터에서'/sessions/init/'방향으로 리다이렉트를합니다. 사용자가 입력을하지 않고 인증을 시작하고 소나의 집으로 리디렉션합니다. –

+0

흥미 롭습니다! BaseIdentityProvider는 OAuth2가 아닌 다른 방법으로 인증을 허용하기 위해 제공되었지만 그런 식으로 사용할 수는 없다고 생각했습니다. 어쩌면 오픈 소스 플러그인을 만들거나 어딘가에 예제를 제공 할 수 있습니다. 다른 사용자에게 흥미로울 수 있습니다. –

+0

시간이 있고 플러그인 업데이트가 완료되면 군중에 대한 SSO가 완료되어 몇 군데 주위에 요청되어 일부 사용자에게 유용 할 것입니다. 그때까지는 이것을 확인할 수 있습니다 -이 방법이 사용 된 곳입니다 : [reverse-proxy-auth-sonar-plugin] (https://github.com/trajano/reverse-proxy-auth-sonar-plugin)). –