아니, 당신은이에 대한 완전한 봄 SAML 콩 필요하지 않습니다. OpenSAML로만 할 수 있습니다 - 어설 션을 파싱하고 속성을 추출하는 것으로 충분합니다 (당신이 필요로하는 유일한 것으로 보이는 것). getPool에
protected T unmarshallMessage(Reader messageStream) throws MessageDecodingException {
log.debug("Parsing message stream into DOM document");
try {
Document messageDoc = getPool().parse(messageStream);
Element messageElem = messageDoc.getDocumentElement();
if (log.isTraceEnabled()) {
log.trace("Unmarshalled message into DOM:\n{}", XMLHelper.nodeToString(messageElem));
}
log.debug("Unmarshalling message DOM");
Unmarshaller unmarshaller = Configuration.getUnmarshallerFactory().getUnmarshaller(messageElem);
if (unmarshaller == null) {
throw new MessageDecodingException(
"Unable to unmarshall message, no unmarshaller registered for message element "
+ XMLHelper.getNodeQName(messageElem));
}
T message = (T) unmarshaller.unmarshall(messageElem);
log.debug("Message successfully unmarshalled");
return message;
} catch (XMLParserException e) {
log.error("Encountered error parsing message into its DOM representation", e);
throw new MessageDecodingException("Encountered error parsing message into its DOM representation", e);
} catch (UnmarshallingException e) {
log.error("Encountered error unmarshalling message from its DOM representation", e);
throw new MessageDecodingException("Encountered error unmarshalling message from its DOM representation", e);
}
}
통화가 org.opensaml.xml.parse.ParserPool
의 인스턴스를 리턴 할 필요가, 예를 들어 :
다음 코드 SAML 객체에 SAML 메시지 XML 스트림을 변환의 예입니다 BasicParserPool
.
반환되는 개체는 예 : org.opensaml.saml2.core.Response
또는 org.opensaml.saml2.core.Assertion
타입이며, SAML 코드베이스에서 이러한 객체로 작업하는 방법에 대한 세부 정보를 찾을 수 있습니다.
속성 처리에 대한 자세한 내용은 SAMLCredential#getAttributeAsStringArray
을 참조하십시오.
응용 프로그램을 초기화하는 동안 org.opensaml.DefaultBootstrap.bootstrap()
을 호출하여 OpenSAML을 초기화합니다.
질문에 대한 자세한 내용을 추가하십시오. – Ram
다시 시도해 봅시다. 다른 엔터프라이즈 애플리케이션 (학부모)의 일부인 Google 애플리케이션. 우리의 응용 프로그램은 상위 웹 응용 프로그램에서 하위 응용 프로그램으로 호출됩니다. 사용자는 부모 앱에서 인증을받습니다 (SSO). 사용자가 링크를 클릭하면 애플리케이션이 팝업됩니다. 요구 사항은 SAML 어설 션을 처리하고 어설 션의 일부로 오는 특성을 사용한다는 것입니다. 내 질문은 내가 Spring saml beans의 완전한 hierarachy를 가질 필요가 있는지, 아니면 WebSSoprofileConsumerImpl에 해당하는 "webSSOprofileConsumer"만 있으면 충분하다. – MRAM
질문에 추가하십시오.이 주제의 도메인 전문가가 아닙니다. 귀하의 질문을 검토하고 질문을 개선하여 더 많은 의견과 빠른 답변을 얻을 수 있도록 추가했습니다. – Ram