2017-04-18 12 views
0

우리는 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

답변

1

할 수 있습니다 ' SOAP을 사용하여 로그인 화면을 통해 ADFS로 인증합니다. 이는 ADFS가 WS-Fed 또는 SAML-P 또는 OpenID Connect (ADFS 4.0) 만 지원하기 때문입니다.

WS-Tust를 사용하면됩니다.

WS-Fed는 두 가지 프로파일 즉, 수동 (브라우저 로그인 화면) 또는 활성 (웹 서비스/WCF). 후자를 사용해야합니다.

ADFS에서 사용할 수있는 활성 프로필 끝 점이 많이 있습니다. 모두 기본적으로 사용하도록 설정되어 있지 않으므로 사용하도록 설정해야 할 수 있습니다.

+0

나는 공급자에게 이것을 제안 할 것이다, 고마워! –