JSF 表单认证 + OAuth

JSF Form Authentication + OAuth

我想允许用户使用表单或 OAuth 身份验证登录。

对于表单身份验证,我使用 JDBC 领域(在 glassfish 服务器上运行)并执行 HttpServletRequest.login(username, password) 在控制器中。

这允许访问限制在 web.xmlsecurity-constraint 中的页面。

为了允许 facebook 登录,我使用了 socialauth 库。有了它,我可以在控制器中看到 facebook 用户的数据,但是用户无法访问受保护的页面,因为我不知道该怎么做 login(username, password) 因为我显然没有用户的密码。

我该怎么办?我必须实施自定义领域吗?

What should I do? Do I have to implement a custom Realm?

没有。只需将其自动注册为新用户即可。

记得在数据库里标明是不是社交账号,也记得事先检查登录名(邮箱地址)是否绑定了社交账号。