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