2015-04-13 1 views
1

Je cherche le code java qui va lire SAMLResponse et récupère SAMLAssertion pour l'envoyer plus loin. J'ai trouvé http://sureshatt.blogspot.in/2012/11/how-to-read-saml-20-response-with.html ce lien qui lit SAMLResponse, mais je ne sais pas si c'est vraiment le travail de récupérer SAMLAssertion seulement ce que je veux.Comment obtenir une <SAMLAssertion> à partir de <SAMLResponse> avec la bibliothèque OpenSAML?

Quelqu'un s'il vous plaît me fournir java test/sample java code?

Répondre

0

Vous pouvez utiliser la bibliothèque Open SAML (La bibliothèque OpenSAML-J fournit des outils pour prendre en charge les développeurs travaillant avec le langage SAML (Security Assertion Markup Language).) La dépendance maven pour votre référence ci-dessous.

<dependency> 
    <groupId>org.opensaml</groupId> 
    <artifactId>opensaml</artifactId> 
    <version>2.6.4</version> 
</dependency> 

Une fois que vous obtenez le SAMLResponse (qui sera une chaîne codée), en utilisant SAML ouvert, vous pouvez le décoder à l'aide de décodeur base64, une fois que vous décodées, vous devez unmarshall respectivement réponse et élément. Une fois cela fait, vous devez taper cast dans l'objet Response et à partir de l'objet Response vous obtenez l'assertion. Donc, cette affirmation sera contaning NameID, émetteur, Public, etc. Signature

//Casting the response to the SAML 2.0 Response message. 
Response response = (Response) responseXmlObj; 

J'espère que ce que la requête originale est et je l'ai utilisé le même code de votre lien fourni et il fonctionne très bien.