2015-08-25 1 views
0

J'utilise OpenSAML 2.6.5 comme bibliothèque SAML2. Je n'ai pas trouvé de documentation sur la façon de marshall la chaîne (document XML) représentant le AuthnRequest qui provient du fournisseur de services. Quelqu'un peut-il m'aider?Convertir SAML2 AuthnRequest en classes Java

Répondre

0

Pour lire la demande de SP, vous devez encoder et unmarshall la chaîne entrant, comme ceci:

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;