2016-10-31 10 views

ответ

1

По OFFICAL документов OpenSAML2 (doc1 & doc2), вы можете попробовать использовать этот код для подтверждения SAML ответа XML с OpenSAML.

// Initialize the library 
DefaultBootstrap.bootstrap(); 

// Get parser pool manager 
BasicParserPool ppMgr = new BasicParserPool(); 
ppMgr.setNamespaceAware(true); 

// Get org.w3c.dom.Document Object from response 
HttpURLConnection req = (HttpURLConnection) new URL("<saml-xml-url>").openConnection(); 
// Add some necessary headers for the request 
// req.addRequestProperty("...", "..."); 
// ... 
InputStream in = req.getInputStream(); 
Document inCommonMDDoc = ppMgr.parse(in); 

// Get the DOMSource from org.w3c.dom.Document Object 
DOMSource domSource=new DOMSource(document); 

//Add an extension schema via the code SAMLSchemaBuilder.addExtensionSchema(String schema) if necessary 
Schema schema = SAMLSchemaBuilder.getSAML11Schema(); 

// Get a Validator instance. 
Validator validator = schema.newValidator(); 
try { 
    validator.validate(domSource); 
    System.out.println("Result : Valid!"); 
} catch(Exception e) { 
    System.out.println("Result : Invalid!"); 
} 
+0

Пробовал, как ни странно я получаю 'CVC-elt.1: Не удается найти декларацию элемента samlp: Response', но первый элемент XML является на самом деле' Gobliins

+0

один что я могу изменить схему SAML11 на схему SAML2? – Gobliins

+0

@ Gobliins, согласно javadoc класса [SAMLSchemaBuilder # getSAML11Schema] (http://www.atetric.com/atetric/javadoc/org.opensaml/opensaml/2.6.1/org/opensaml/common/xml/SAMLSchemaBuilder. html # getSAML11Schema--), поддержка схемы SAML11 для проверки SAML2. –

 Смежные вопросы

  • Нет связанных вопросов^_^