我想在Web应用程序中启用SSO功能作为身份验证提供程序。用例是: 我有2个申请。一个是MAIN应用程序,另一个是单独部署的REPORTING应用程序。
一旦用户通过MAIN应用程序进行身份验证,他也应该被允许登录到REPORTING应用程序。
我了解CAS或其他第三方SSO提供商。但是,我想在我的MAIN应用程序本身中实现一些东西,以便它也向REPORTING应用程序提供SSO服务。某种票务机制可能是。
我不知道从哪里开始。任何指针都将受到高度赞赏。
PS:应用程序在Java EE平台上。
答案 0 :(得分:0)
由于应用程序位于不同的域上,因此cookie不能用于存储会话,这通常是Web应用程序处理身份验证的方式。
如果希望用户从主应用程序内访问报告应用程序(例如,通过链接),则可以向链接附加安全令牌。报告应用程序可以回调主应用程序以检查令牌是否有效。这篇SO文章解释了token-based authentication。
话虽如此,过去已经实施了基于令牌的安全方案,但我会说如果可能的话,更容易使用第三方解决方案。 CAS可能是一个不错的选择,如果它支持您需要的功能,因为它作为一个独立的服务运行,客户端有多种语言。