我有一个Web应用程序,通过标准Tomcat机制对用户进行身份验证。更具体地说,我配置了一个指向我自己的用户和角色表的JDBCRealm
,我正在使用基于表单的身份验证,它将用户详细信息提交给j_security_check
操作(如j_username
和j_password
)。安全限制在我的web.xml
文件中配置。使用Tomcat领域或Facebook登录进行身份验证
现在,我想为用户提供第二个登录选项:Facebook。我已经使用他们的Javascript SDK配置了Facebook登录,但是我遇到了集成两个登录选项的问题。理想情况下,当用户登录到Facebook时,我将不得不在Tomcat领域模拟身份验证,以确保Facebook用户的行为像一个普通的Tomcat用户。这意味着我也必须在我自己的用户表中注册Facebook用户。
我的第一个想法是在用户完成Facebook登录后(例如使用Ajax请求)将用户注册到我自己的用户表中。当这个请求结束时,我将能够触发手动提交到j_security_check
。
Facebook的回复包括我可以使用的用户id
和token
。但是,我不知道使用什么信息作为j_password
。我甚至不知道使用form-authentication是否是最好的选择。
什么是集成两个登录选项的最佳方式?
非常感谢!