Como fazer autenticação usando LDAP, aplicativo, aplicativo de terceiros etc

Nós estaremos criando uma aplicação web em java.

Para autenticação de usuário atualmente estamos usando o LDAP. Mas nós queremos ter algumas outras opções como autenticação em nível de aplicativo (do database), gmail, facebook etc.

Um pouco semelhante ao que o estouro de pilha tem na página de login.

Estaremos mantendo um arquivo de propriedades que consistirá em todas as opções disponíveis para autenticação como LDAP, facebook, gmail etc.

Se quisermos adicionar mais um serviço de autenticação, vamos incluí-lo neste arquivo de propriedades e, em seguida, precisaremos adicionar um arquivo auxiliar que fará o trabalho real de fazer a autenticação.

Isso deve ser altamente personalizável.

Eu tenho as seguintes perguntas sobre isso,

1) Qual é a melhor maneira de fazer isso? 2) Como fazer autenticação de terceiros como google, facebook etc?

PS: Quando fazemos a autenticação usando o gmail etc, precisaremos de algumas informações básicas de volta ao nosso aplicativo que podemos usar.

Stackoverflow (Stackexchange) está usando uma versão modificada do seletor openid . É altamente personalizável e você pode adicionar seus próprios seletores também.

Você pode autenticar com o google, facebook e outros sites de redes sociais usando o mecanismo openID ou OAuth . Você pode fazer uso de muitas bibliotecas disponíveis para java.Have uma olhada em openid4java . Você também pode consultar essa lista para bibliotecas também.

Você pode obter algumas informações básicas (nome, e-mail, fotos, etc) do Google, Yahoo ou outros provedores openid.

Uma solução popular é o Spring Security (que costumava ser chamado de Acegi). Ele possui várias autenticações de backend e lida com openID e LDAP. Você poderia usá-lo com o seletor openID mencionado por Abdel. Se você pesquisar no Google, poderá encontrar vários plug-ins para conectar-se a diferentes autenticadores de back-end, incluindo o JAAS.