2010-02-05 13 views
17

Je voudrais écrire une application Web qui effectue l'authentification à l'aide de jetons SAML 2.0, délivrés par un fournisseur d'identité. Je comprends, selon ce question, qu'il existe une solution viable dans le monde PHP en utilisant simpleSAMLphp.Web SSO utilisant Java et SAML 2.0

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

Répondre

21

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

-1

Tout ce que vous avez besoin était au OpenSSO site, avec OpenAM comme il est le successeur.

+0

lien est rompu. De wikipedia "OpenSSO * was * une plate-forme de serveur de gestion d'accès et de fédération open source." http://en.wikipedia.org/wiki/OpenSSO –

5

Après avoir 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. C'est très lisible et contient de vrais exemples de messages XML qui sont passés. 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

6

Vous pouvez jeter un oeil à 2 produits:

Les deux ont une liste impressionnante de fonctionnalités et offrent une large liste d'agents SSO. Le principal avantage de l'approche agent est que vous n'avez pas à vous soucier de votre processus d'authentification dans votre application car il est géré par l'agent et l'infrastructure SSO.

Si vous développez votre propre fournisseur de services SAML2, l'utilisation d'OpenSAML est la solution idéale. 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.

4

Fournir plus à jour réponse car cela n'a pas été visité dans un certain temps:

Si vous faites un projet de printemps déjà, je l'ai eu du succès avec Spring Security SAML. Vous n'avez pas besoin de sécuriser votre application avec Spring Security pour utiliser l'extension SAML, même si cela facilite un peu la tâche.

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