quarta-feira, 8 de fevereiro de 2012

Utilizando o Janrain com o Spring Security 3.1.x


Para quem ainda não conhece, o OpenID é um protocolo que permite que você se autentique num site/serviço utilizando as credenciais (normalmente login/senha, mas também poderia ser um certificado digital, por exemplo) de um terceiro confiável.

Esta iniciativa surgiu para tentar eliminar o problema de ter que guardar e lembrar de centenas (ou quase milhares para alguns) de combinações de login e senha diferentes. Assumo também que você, usuário consciente, não utiliza o mesmo login/senha para mais de um serviço. Pois caso positivo, se alguém descobrir a sua combinação - que presumo deva ser trivial - terá acesso a todos os sites e aplicações nos quais você está cadastrado.

Com o OpenID você pode delegar a autenticação da sua aplicação para um provedor de OpenID como o Google, Facebook, Twitter etc. Assim você pode utilizar o sistema de autenticação destes provedores ao invés de criar um próprio.

O Janrain é um serviço que integra vários provedores diferentes de OpenID, permitindo que você desenvolva sua aplicação somente com o Janrain e passe a utilizar vários provedores de OpenID rapidamente.

Para facilitar a vida de quem utiliza a excelente biblioteca de autenticação e autorização spring-security, criei um projeto LGPL que integra o Janrain com o spring-security. De bônus, já vem com componentes JSF2 prontos para usar. Podem conferir em https://github.com/insula/spring-security-janrain