2010-11-27 3 views
2

SAML, SSO는 내 프로젝트에서 새로운 학습입니다. 올바른 도구/API를 찾기 위해 실험 할 충분한 시간이 없습니다. 도움을 요청합니다.SAML SSO 클라이언트, 테스트 시뮬레이터 SAML Provider/Server

SAML 어설 션을 보내고 SAML 제공자/서버에서 SAML 응답을 수신 할 수 있어야하는 SAML 클라이언트 (Java)를 구현해야합니다. Java에서 SAML 클라이언트를 작성하는 데 사용해야하는 Java API는 무엇입니까?

우리 고객은 이미 SAML 요청을 받고 고객 프로필 및 기타 정보와 함께 SAML 응답을 보내는 SAML 응답자/서버를 보유하고 있습니다. 하지만 우리는 테스트 시뮬레이터 SAML 응답자/서버를 작성해야합니다. 나는 아파치 & 톰캣 서버를 사용했다. 이 테스트 시뮬레이터 SAML 응답자/서버를 구현하는 데 사용해야하는 서버/API는 무엇입니까?

답변

1

SAML 요청 유형이 너무 많기 때문에 클라이언트 측에서 SAML을 열고 서버 측에서 간단한 HTTP 요청/응답을 사용하고 있습니다. 따라서 복잡한 웹 서비스와 SAML API를 서버 측에서 사용하지 않는 것이 좋습니다.

7

우리는 매우 유연하고 배우기/사용하기가 어렵지 않은 OpenSAML을 사용합니다. 필자는 서비스 제공 업체 (일부 클라이언트 사용자 정의 버전 포함) 작성, 요청 및 원치 않는 SAMLResponse XML 처리, AuthnRequests를 ID 제공 업체로 보내고, IdP AttributeQuery 서비스를 호출하고, ID 제공 업체 SAMLResponse XML (테스트 용)을 시뮬레이트하는 데 사용했습니다.

귀하의 설명에서 신원 공급자 부분을 작성하게 될 것이라고 생각합니까? 단순한 원치 않는 SAMLR 응답 XML을 사용하는 경우 OpenSAML은 아마도 과장 될 것입니다. XML 메시지가 거의 동일하고 요청에서 요청으로 변경되는 몇 가지 콘텐츠 요소 만 있으면 단순한 문자열 템플릿을 사용하고 몇 가지 변화하는 요소를 채울 수 있습니다. 특별한 SAML 라이브러리는 필요하지 않습니다. 당신이 말하는

한 가지는 나를 혼동 :

우리의 고객이 이미 SAML 요청을 수신하고이를하는 경우 사용자와 SAML 응답이

프로필 전송 SAML 응답자/서버가 서비스 제공 업체이며 SAML SSO 인 경우 브라우저 요청을 통해 SAMLResponse XML을 수신하고 사용자의 브라우저에 콘텐츠를 표시하여 응답합니다. 그들은 사용자 프로파일에 대한 응답을 보내지 않습니다. 실험 할 시간이 없어도 SAML 문서를 읽는 데 약간의 시간을 할애 하시길 바랍니다. 단지 SAMLOverview을 읽는 것만으로도 좀 더 많은 기초 지식을 얻을 수 있습니다.

+0

Tnx 마지막으로 몇 가지 단서가 있습니다. 예! SAML 요청 및 응답은 거의 없습니다. 지금은 OpenSAML을 사용하고 HTTPS (Apache + Tomcat 사용)를 통해 SOAP를 보내는 JAVA 클라이언트를 사용하고 있습니다. 당신은 정체성 제공자를 써야합니다. 고객이 이미 가지고 있습니다. 이제 SAML 요청을 처리하고 ID 공급자의 SAML 응답을 보내야합니다. 나는 MIME 형식을 xml로 설정하고 SOAP 봉투로 SAML에서 HTTPS 응답을 다시 보낼 수 있다면 시뮬레이터 ID 서버로 충분하다고 (String 템플릿 일 수 있음) 믿는다. 더 이상의 제안. –

+0

구현하고자하는 것을 결정하는 데 실제로 도움이되는 내용은 다음과 같은 설명입니다. "HTTP Post 바인딩을 사용하여 SAML 웹 브라우저 SSO 프로필의 ID 공급자를 구현하려고합니다." SOAP에 대한 귀하의 언급은 그것이 당신이하는 일이 아니라는 것을 나타냅니다. SAML 프로필 및 바인딩에 대한 참조를 사용하여 시나리오를 설명 할 수 있습니까?클라이언트가 AuthnRequest에 대해 HTTP 아티팩트 바인딩을 사용하고 있습니까? – JST

+0

감사합니다! 사용자는 로그인 자격 증명을 사용하여 Java-Swing 클라이언트를 실행하고 ID 공급자에 액세스합니다.이 로그인은 SSO 기반 로그인입니다. 이제 클라이언트 브라우저 (authentn + Authoztn 필요)는 https : // : /login.jsp?artifact= 과 같은 HTTP 아티팩트를 사용합니다. 웹 서버는 이슈를 해결하고 ID 공급자 위치를 가져 와서 SAML 요청을 보내고 위의 Java-Swing 클라이언트를 사용하여 수행 한 로그인을 기반으로 권한 세부 정보가있는 SAML 응답을 가져옵니다. 이제 HTTP 쿼리 문자열에 이슈를 전달하여 웹 서버에서 아무런 로그인없이 HTTPS 작업을 수행 할 수 있습니다. –

0

OpenSAML은 오픈 소스 C++ & 집합입니다. SAML (Security Assertion Markup Language)로 작업하는 개발자를 지원하기위한 Java 라이브러리입니다. openSAML API

관련 문제