Créer de l'Assertion SAML et Signe la réponse
J'ai une application web Java. Je veux mettre en œuvre SAML Single-Sign-on de connexion pour mon application. J'ai eu ce GitHub onelogin programme d'envoyer une requête et obtenir de réponse. Mais il ne fonctionnait pas correctement. J'ai créé un compte là-bas. Mais je n'ai pas de compte d'entreprise. Quand je lance l'application, il va onelogin de connexion page. J'ai essayé de connexion, mais il n'est pas de retour anyuthing dans la réponse, montrant que je n'avez pas la permission. Si je fournir des informations d'identification de mal aussi, il n'est pas de donner la moindre réponse SAML.
J'ai donc décidé de créer une assertion et de le signer.
- Dois-je envoyer une requête SAML à tout fournisseur d'identité en premier?
- Comment créer un exemple de l'assertion SAML au lieu d'aller à l'IdP(Comme c'est beau?)
- Une fois que je reçois la réponse SAML, comment puis-je m'inscrire dans mon dossier et procéder?
Grâce
Mise à JOUR de 1
<?xml version="1.0" encoding="UTF-8"?>
<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
ID="123" InResponseTo="abc" IssueInstant="2014-11-21T17:13:42.872Z"
Version="2.0">
<samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</samlp:Status>
<saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" Version="2.0">
<saml:Subject>
<saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">
user@example.com
</saml:NameID>
</saml:Subject>
<saml:AuthnStatement AuthnInstant="2014-11-21T17:13:42.899Z">
<saml:AuthnContext>
<saml:AuthnContextClassRef>
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
</saml:AuthnContextClassRef>
</saml:AuthnContext>
</saml:AuthnStatement>
</saml:Assertion>
</samlp:Response>
OriginalL'auteur iUser | 2014-10-21
Vous devez vous connecter pour publier un commentaire.
La première chose que vous devez faire est de lire sur le protocole SAML. J'ai deux blogs que je peux recommander.
Intro à SAML
Intro pour le Profil Web
Ensuite, vous pouvez choisir de construire la SAML intégration dans votre application ou vous pouvez utiliser une application tierce pour faire l'intégration. Typique d'applications tierces sont Shibboleth et OpenAM.
Si vous décidez de construire votre application, vous pouvez par exemple utiliser OpenSAML. OpenSAML est une bibliothèque qui permet de travailler avec SAML messages. J'ai plusieurs blogs sur le sujet et un livre est bon de commencer avec
Vos questions.
Je n'ai pas ce que la chaîne XML. vous validez à l'aide d'un certifcate. Ce que vous pouvez obtenir à partir d'un fichier ou de la SAML métadonnées
Où créer les métadonnées?
Veuillez consulter la mise à Jour de 1. L'affirmation que j'ai copié à partir d'autres DONC, la question. Comment valider? Dois-je installer un certificat avant de valider?
Bien que l'Affirmation que vous avez posté n'est pas signé, donc vous ne nt besoin de valider. Vous aurez besoin du certificat. Comment il est utilisé si vous avez besoin d'installer dépend du logiciel que vous utilisez.
OriginalL'auteur Stefan Rasmusson
Vous pouvez également utiliser Java Saml de Onelogin à signer la réponse à l'aide de leur classe utilitaire (com.onelogin.grâce à saml2!.util.Util):
Vous pouvez également utiliser un autre
.addSign
méthode qui prendNode
comme premier paramètre à signer l'affirmation de la réponse SAML.Leur dépendance Maven est:
OriginalL'auteur shimon001