在 Java EE 中,用户身份验证的常用方法是在 web.xml 中设置一个领域并以以下方式登录:
HttpServletRequest request = (HttpServletRequest) FacesContext.getCurrentInstance().getExternalContext().getRequest();
request.login(accountId, passwordHash);
当用户通过社交网络帐户访问网站时,事情变得更加有趣。在这种情况下,我们知道他/她的电子邮件(帐户名),但用户没有密码。
我只是想到为通过社交网络登录的用户生成密码并将其传递给 request.login()。
这个问题有一个通用的解决方案吗?
是否有任何框架已经解决了这个问题?
更新。也许将 Java EE 领域与社交网络登录相结合的整个方法是错误的?有更好的方法吗?