Dreamisle.net Blog

Java, Rails, Security and so many ...

PicketLink, Fédération D'identité Et SSO

| Comments

Comme vous avez pu le voir j’ai peu publié ces derniers temps pour la simple raison que j’avais explicité précédemment : je travaille actuellement sur un domaine un peu transverse la fédération d’identité.

Je publierais prochainement des articles sur le fonctionnement et les grands principes de la fédération d’identité  mais en attendant pour ceux qui ont déjà des notions de fédération ou de SSO je voulais vous présenter un projet de JBoss que j’approfondie en ce moment : PicketLink.

Voici une brêve présentation de PicketLink :

Le site officiel de PicketLink

PicketLink est un projet libre soutenu par JBoss qui a pour but d’englober différentes problématiques de gestion d’identité communes :

  • Security Token Service : WebService fournisseur de Token, basé sur la spec WS-Trust
  • SAML : API permettant de communiquer en SAML avec un identity ou service provider compatible.
  • Identity Manager : Vous permet d’implémenter votre propre Identity Manager interconnectable en SAML en vous fournissant un cadre architectural et de développement.
  • XACML : API vous permettant d’avoir une gestion des autorisations fines et distribuée un peu à la manière de SAML mais complètement orientée autorisation (XACML 2.0 ici).
  • Negociation : Fournit un négociateur Kerberos/SPNego pour le SSO orienté desktop.

Grosso modo il vous permet de résoudre dans votre application les problématique de SSO et de fédération d’identité.

Il s’agit plus d’une grosse API et d’un ensemble de classes à appeler/configurer qui sont prêtes à l’emploi que d’un progiciel ou d’un logiciel de fédération d’identité.

A l’heure ou ces lignes sont écrites PicketLink est encore en release candidate mais j’ai pu réaliser quelques PoC tout à fait fonctionnels et efficaces.

PicketLink profite de l’avantage de la communauté JBoss : celle ci est large et très réactive (j’ai eu des réponses à mes questions sur les forums parfois dans la journée même du post avec même une release faite le lendemain d’un de mes signalements de bug), les documentations sont complètes et claires, la communauté aide beaucoup.

PicketLink propose un ensemble de projets d’exemples des possibilités de l’API qu’il suffit de déployer et de tester.

Il est prévu pour fonctionner avec JBoss et Tomcat.

Là ou Picketlink concerne plus particulièrement ce blog, c’est dans le fait qu’il apporte aussi un module Seam pour intégrer dans une application Seam les possibilités de

  • SSO
  • Communication SAML
  • Externalisation de l’authentification et Interconnection avec un IDP SAML
  • Externalisation de l’authentification et Interconnection avec un IDP OpenId

Grâce à ce module et l’API de sécurité de Seam il est donc possible de sécuriser :

  • Les pages
  • Les ressources
  • Les webservices
  • L’appel de méthode/d’objets

Quelques tutoriaux interessant sur PicketLink  :