2012-09-08 3 views
0

누구나 Rampart가 자체 STS 서비스에서 생성 된 SAML 토큰을 찾을 수없는 이유를 알고 있습니까?Rampart SAML 토큰이 누락 요청 됨

저는 Rampart 1.6.2가 설치된 Tomcat 7.0.28에 Axis2 1.6.2 배포가 있습니다. Rampart STS 서비스를 사용하여 기본 SAML 토큰을 얻습니다. 클라이언트가 유효한 토큰을 얻습니다. (OpenSAML을 사용하여 서명, SAML 프로필 및 XML을 검증했습니다.) 그러나 토큰을 생성 한 동일한 Axis2/Rampart 배치에서 실행되는 웹 서비스 요청에이 토큰을 포함 시키면 Rampart는 "SAML Token missing 요청 있음 "(RampartEngine.process()에 의해 발행 됨). NetKernel과 OpenSAML에서 별도의 구현을 사용하면 동일한 요청에서 SAML 토큰을 액세스하고 유효성을 검사하는 데 아무런 문제가 없습니다. 이 문제는 Axis2/Rampart 1.5.1 이후 처음이 작업을 수행 할 때부터있었습니다.

누군가 Rampart가 자체 SAML 토큰을 거부하는 이유를 알고 있습니까? 램 파트가 자체 SAML 토큰을 허용하도록하는 방법을 찾았습니까?

(1 년 이상이 문제를 해결하기 위해 노력 해왔다. Netkernel과 OpenSaml을 포기하고 사용하며, SOAP 도움말이 많이 손실되지만 적어도 OpenSAML의 많은 도움으로 SAML 토큰을 처리 할 수 ​​있습니다. Axis2/Rampart를 사용하는 것이 더 좋을 것입니다.)

일부 문제는있을 수 있습니다. 소스 코드를 따라 가면서 서명되지 않은 SAML 토큰 만 검사하는 유효성 검사기의 줄에 "SAML Token Missing"을 추적 할 수있었습니다. SAML 토큰에 서명해야합니다. 이것이 오류의 원인이라고 생각하지만 그것을 테스트하기 위해 성벽 모듈을 만들 수는 없습니다!

ANSWER 마침내 프로젝트를 빌드하고 위의 가정을 테스트하여 실제로 문제를 해결할 수있었습니다. 서명 된 토큰과 서명되지 않은 토큰 모두를 처리하도록 코드를 변경했습니다. Rampart에게 JIRA 문제를 제출하고 해결책과 희망을 제시합니다. 그때까지 나는 나의 서비스를 다루기 위해 짬통 코어 - 항아리의 로컬 버전을 만들었다.

답변

0

위의 답변은 정확하며 람 파트 (Rampart)에 의해 통합되었습니다. 다음 릴리스에 있어야합니다 (1.6.3).

0

램 파트에는 SAML과 관련하여 많은 버그가 있다고 상상할 수 없었습니다. 그들이 간행하는 모든 샘플이 작동하는 것은 아닙니다. sample5의 경우 사용자가 지정한 코드를 변경해야 할뿐만 아니라 엄지 손가락과 관련된 네임 스페이스의 오류에 대한 rampart-trust 모듈 (SAMLUtils.class)도 변경해야했습니다. 그러나 이제 마침내 작동합니다. 귀하의 게시물에 많은 도움을 주셔서 감사합니다. :)

관련 문제