我们将在java中创建一个Web应用程序。
对于用户身份验证,目前我们使用的是LDAP。但我们想要一些其他选项,如应用程序级别身份验证(来自数据库),gmail,facebook等。
与登录页面上的堆栈溢出有些类似。
我们将维护一个属性文件,该文件将包含所有可用的身份验证选项,如LDAP,facebook,gmail等。
如果我们想再添加一个身份验证服务,我们会将其添加到此属性文件中,然后我们将需要添加帮助文件来执行身份验证的实际工作。
这应该是高度可定制的。
我对此有以下问题,
1)最好的方法是什么? 2)如何进行谷歌,脸谱等第三方认证?
PS:当我们使用gmail等进行身份验证时,我们需要一些基本信息回到我们可以使用的应用程序。
答案 0 :(得分:3)
一种流行的解决方案是Spring Security(以前称为Acegi)。它具有各种后端身份验证并处理openID和LDAP。您可以将它与Abdel提到的openID选择器一起使用。如果您在谷歌周围,您可以找到各种插件来连接不同的后端身份验证器,包括JAAS。
答案 1 :(得分:2)
Stackoverflow(Stackexchange)正在使用openid-selector的修改版本。它是高度可定制的,您也可以添加自己的选择器。
您可以使用openID或OAuth机制通过Google,Facebook和其他社交网站进行身份验证。您可以使用许多可用于java的库。看看openid4java。您也可以参考此list for libraries。
您可以从Google,Yahoo或其他openid提供商那里获得一些基本信息(姓名,电子邮件,照片等)。