如何将OpenID登录认证实现(Java)与JBoss集成
我已经实现了一个服务,它使用openid4java库执行OpenID登录身份验证所需的操作 应用程序流程如下所示如何将OpenID登录认证实现(Java)与JBoss集成,java,jboss,login,openid,openid4java,Java,Jboss,Login,Openid,Openid4java,我已经实现了一个服务,它使用openid4java库执行OpenID登录身份验证所需的操作 应用程序流程如下所示 用于从用户获取OpenID的JSP页面 JSP页面的操作servlet Servlet获取openid参数,与服务交互以获取所需信息,从而将用户重定向到实际的openid提供者进行身份验证 提供给OpenID提供者的返回url是另一个servlet 这个servlet从开放id提供者发送的响应中检索所需的信息,然后和服务交互,检查用户是否通过开放id提供者的身份验证 若用户经过身份验
org.jboss.security.auth.spi.UsernamePasswordLoginModule
进行基于数据库的身份验证(调用服务方法以获取数据库身份验证信息)。但是在这种情况下,我需要servlet作为服务、用户和OpenID提供者之间的通信通道,所以我应该如何将servlet和登录模块实现两者集成起来呢
我可能面临的另一个问题是,我正在使用两个实现的servlet之间的会话来存储和检索DiscoveryInformation
对象。我认为在用户未登录之前,会话将无法访问
我所遵循的实现方法基于本文
请帮帮我
谢谢您的场景中缺少了一些东西:openid是唯一进行身份验证的方法还是用户也有用户名和密码?在第一种情况下,您可以重构自定义登录以扩展AbstractServerLoginModule并传递openId帐户信息。否则,您只需将两个身份验证系统链接起来 对于会话问题,一切都应该正常,因为会话在浏览器第一次点击服务器时启动,直到由于不活动或程序重置而出现为止