0
ich habe Antwort im XML-Format von meinem IDP und möchte mit opensaml2 validieren. Wie kann es gemacht werden?Wie validiere ich (azurblau) saml xml Antwort mit opensaml?
ich habe Antwort im XML-Format von meinem IDP und möchte mit opensaml2 validieren. Wie kann es gemacht werden?Wie validiere ich (azurblau) saml xml Antwort mit opensaml?
Nach dem opensaml2 offical docs (doc1 & doc2), können Sie versuchen, den Code zu verwenden, unter der SAML-XML-Antwort mit OpenSAML zu validieren.
// 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!");
}
es einmal, seltsam ich ein 'cvc-elt.1 erhalten: Kann nicht die Deklaration des Elements samlp finden: Response' aber das erste Element des XML ist eigentlich'
Gobliins
ein mehr Ding hart, wie kann ich das SAML11-Schema in ein SAML2-Schema ändern? – Gobliins
@Gobliins, Entsprechend dem Javadoc der Klasse [SAMLSchemaBuilder # getSAML11Schema] (http://www.atetric.com/atetric/javadoc/org.opensaml/opensaml/2.6.1/org/opensaml/common/xml/SAMLSchemaBuilder. html # getSAML11Schema--), die 'SAML11'-Schema-Unterstützung, um SAML2 zu validieren. –