【发布时间】:2015-08-25 14:09:06
【问题描述】:
我使用 OpenSAML 2.6.5 作为 SAML2 库。 我还没有找到有关如何编组表示来自服务提供者的 AuthnRequest 的字符串(XML 文档)的文档。 谁能帮帮我?
【问题讨论】:
标签: java saml-2.0 unmarshalling opensaml
我使用 OpenSAML 2.6.5 作为 SAML2 库。 我还没有找到有关如何编组表示来自服务提供者的 AuthnRequest 的字符串(XML 文档)的文档。 谁能帮帮我?
【问题讨论】:
标签: java saml-2.0 unmarshalling opensaml
要从 SP 读取请求,您需要对传入的字符串进行编码和解组,如下所示:
DefaultBootstrap.bootstrap(); //crucial in SAML2
byte[] decodedSamlAsBytes = Base64.decode(incomingEncodedSaml);
DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance();
DocumentBuilder docBuilder = documentBuilderFactory.newDocumentBuilder();
Document document = docBuilder.parse(new ByteArrayInputStream(decodedSamlAsBytes));
Element element = document.getDocumentElement();
UnmarshallerFactory unmarshallerFactory = Configuration.getUnmarshallerFactory();
Unmarshaller unmarshaller = unmarshallerFactory.getUnmarshaller(element);
XMLObject requestXmlObj = unmarshaller.unmarshall(element);
AuthnRequest request = (AuthnRequest) requestXmlObj;
【讨论】: