我在不同的域上提供多种服务,每种服务都有自己的用户表。
我正在努力实现一个简单的统一身份验证系统和单点登录。
到目前为止,我已经制定了工作流程,让用户在CAS页面上注册/登录,并将其重定向到他们选择的服务以及授权码。
然后,服务交换access_token的代码并获取用户详细信息并创建/更新用户并将其登录。
我希望允许用户在对其中一项服务进行身份验证后导航到服务之间。
目标是在多种服务之间提供无缝导航。
当用户导航到另一个服务时,显然该服务需要与CAS服务器进行自己的授权事务,但不确定该事务的性质如何。
当所有服务都使用中央身份验证服务和SSO时,如何在服务之间创建跨服务无相关导航。
答案 0 :(得分:0)
如果您的服务全部与CAS集成,则每个服务都需要联系CAS以获取某种令牌/票证,然后要求CAS验证它以便接收用户配置文件。实际的身份验证行为只执行一次,以便CAS可以建立SSO会话,但是当应用程序决定对用户进行身份验证时(因为其会话过期等),获取和验证票证的任务通常是每个应用程序执行一次。
无论身份验证协议如何,相同的概念或多或少都相同。 (OAuth,CAS等)。这或多或少假设您的服务是基于Web的,涉及浏览器。如果您有代理其他后端服务的服务,那么相同的解决方案会稍微复杂一些。