web-dev-qa-db-fra.com

SSO Web utilisant Java et SAML 2.0

Je voudrais écrire une application Web qui effectue l'authentification à l'aide de jetons SAML 2.0, émise par un fournisseur d'identité. Je comprends, d'après cela question , qu'il existe une solution viable dans le monde PHP utilisant simpleSAMLphp .

Existe-t-il une méthode équivalente dans le monde Java? Existe-t-il des solutions et/ou des didacticiels prêts à l'emploi pour les conteneurs servlet ou les serveurs d'applications courants?

21
spa

Vous pouvez essayer le projet OpenSAML ; il fournit une bibliothèque Java pour créer et valider les jetons SAML.

22
LiorH

Vous pouvez jeter un œil à 2 produits:

Les deux ont une liste de fonctionnalités assez impressionnante et offrent une large liste d'agents SSO.

Le principal avantage de l'approche de l'agent est que vous n'avez pas à vous soucier dans votre application du processus d'authentification car il est géré par l'agent et l'infrastructure SSO.

Si vous envisagez de développer votre propre fournisseur de services SAML2, l'utilisation d'OpenSAML est la solution. L'inconvénient est que cette bibliothèque n'est pas très bien documentée. Néanmoins, vous devriez trouver facilement quelques tutoriels sur OpenSAML sur le web.
Vous pouvez l'implémenter par exemple en tant que filtre de servlet, afin que votre code d'application ne soit pas lié à SAML.

7
sk_

Ayant récemment implémenté l'authentification SAML pour une application, j'ai trouvé les informations les plus utiles dans le document de présentation technique OASIS SAML2. Il est très lisible et contient de vrais exemples des messages XML transmis.

La section 5.1 décrit l'interaction entre le fait que VOTRE application (fournisseur de services ou SP) demande l'authentification à un fournisseur d'identité distant (Idp).

http://wiki.oasis-open.org/security/Saml2TechOverview

5
Uriah Carpenter

Fournir une réponse plus à jour car cela n'a pas été visité depuis longtemps:

Si vous faites déjà un projet Spring, j'ai réussi avec Spring Security SAML. Vous n'avez pas besoin de sécuriser votre application avec Spring Security pour utiliser l'extension SAML, mais cela la rend un peu plus facile.

http://projects.spring.io/spring-security-saml/

4
Ian Stansbury
1
Maurice Perry