Java 通过加密令牌的单点登录

Java 通过加密令牌的单点登录,java,security,jakarta-ee,web-applications,Java,Security,Jakarta Ee,Web Applications,在一个项目中,我们需要为两个不同的web应用程序实现单点登录,一个是我们自己的,另一个是由其他人实现的。对于我们自己的应用程序,我们将用户/密码存储(加密)在数据库中。由于我们的应用程序将集成到他们的环境中,因此我们现在需要一种机制来授权已经登录到他们身边的用户,而不必再次显示登录屏幕 因为我自己不是安全专家,所以我开始(从高层)阅读一些有关SSO的技术,例如OpenID、Kerberos、SAML、CAS,但我还没有获得实践经验 在走向错误的方向之前——有人能给我提供在该领域的经验,并给我指出

在一个项目中,我们需要为两个不同的web应用程序实现单点登录,一个是我们自己的,另一个是由其他人实现的。对于我们自己的应用程序,我们将用户/密码存储(加密)在数据库中。由于我们的应用程序将集成到他们的环境中,因此我们现在需要一种机制来授权已经登录到他们身边的用户,而不必再次显示登录屏幕

因为我自己不是安全专家,所以我开始(从高层)阅读一些有关SSO的技术,例如OpenID、Kerberos、SAML、CAS,但我还没有获得实践经验

在走向错误的方向之前——有人能给我提供在该领域的经验,并给我指出一个要使用的框架或一篇关于如何做到这一点的好文章(也是最近的)吗


还有一个信息:客户谈到更喜欢在两个webapp之间传递加密令牌。这有意义吗?这会导致某种技术吗

为此,我们使用SAML实现()-它很容易集成到我们现有的web应用程序中


工作方案如下所示:您将有一个登录页面,SAML框架在其中重定向用户。因此,成功登录后,他获得了一个带有auth令牌的cookie,并重定向回web应用程序页面。您还将拥有一个标识web服务,您可以调用该服务,传递提供的令牌,并能够从那里获取身份验证凭据(用户角色等),因此您的所有web应用程序都可以将该用户标识为已登录。

感谢您的提示,我将对此进行更详细的评估,这似乎是一种可以接受的方式。