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