우리는 cxf wsdl2java를 사용하여 Java로 비누 클라이언트를 구현하고 있습니다. 이전 프로젝트에서는 인증이 WS-Security 또는 Basic HTTP Authentication을 기반으로 이루어졌습니다. 이들은 모두 SoapUI에서 테스트하고 java로 구현하기 쉽습니다.서버에서 ADFS 인증을 사용할 때 Java SOAP 클라이언트를 구현하는 방법은 무엇입니까?
그러나 이번에는 서버가 역방향 프록시로 작동하는 웹 응용 프로그램 프록시와 인증 용도로 ADFS (Active Directory Federation Services)를 사용합니다. 이게 무슨 뜻인지에 대한 자세한 내용은 모르지만 브라우저에서 wsdl 엔드 포인트 URL을 열 때 일어나는 일은 이전에 계정 유형을 수동으로 클릭 한 사무실 로그인 페이지 https://login.microsoftonline.com/과 비슷한 로그인 페이지로 리디렉션된다는 것입니다. 자격 증명을 입력하십시오.
수동으로 로그인하면 마지막에? authToken = xxx가 추가 된 wsdl 끝점으로 다시 리디렉션되고 토큰은 1 시간 동안 지속됩니다. 우리는 공급자에게보다 표준적인 인증을 사용하도록 요청했지만 현재로서는 이것이 유일한 것입니다. 우리가 어떻게이 문제에 접근합니까?
SoapUI에서 테스트 요청을 시도 할 때 우리는 응답으로 로그인 페이지의 전체 HTML 코드를 가져옵니다. SoapUI에는 폼 기반 인증 옵션이 있지만 로그인 페이지에는 여러 계정 유형과 여러 사용자 이름/비밀번호 필드가 있으므로 작동하지 않습니다. 테스트 용 해결 방법은 수동으로 로그인하고 authToken을 사용하는 것입니다. 하지만 Java cxf 클라이언트에서 어떻게 자동화 할 수 있습니까? & 로그인 절차 = /adfs/ls?version=1.0 & 행동
이[ADFS seriver에 URL] :
은브라우저에서 엔드 포인트 URL에 연결,이 URL이 후 로그인 페이지로 이동 모습입니다 영역 = 항아리 % 3AAppProxy % 3Acom & appRealm = a10037ed-ca1e-e711-9436-00215a9b01ac & returnUrl = [WSDL 엔드 포인트 URL] & 클라이언트 요청-ID 13A5B5A6-B574-0000-6FBA-A51374B5D201
나는 공급자에게 이것을 제안 할 것이다, 고마워! –