我有一個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是否是最好的選擇。
什麼是集成兩個登錄選項的最佳方式?
非常感謝!