我在不同域上有多个服务,每个服务都有自己的用户表。
我正在努力实施一个简单的统一身份验证系统,并在单一签名上。
到目前为止,我已经制定了工作流程,以使用户在CAS页面上注册/登录,并将其重定向到他们选择的服务以及授权代码。
服务然后将代码交换为access_token并获取用户详细信息并创建/更新用户并将其记录在中。
我想允许用户在服务中验证到其中一种服务。
目标是提供多个服务之间的无缝导航。
当用户导航到另一个服务时,显然,该服务将需要使用CAS服务器进行自己的授权交易,而不确定该交易的性质会是什么样。
当所有服务使用中央认证服务和SSO时,如何在服务之间创建跨服务的无sameless导航。
如果您的服务都与CAS集成在一起,则每个服务都需要与CAS联系以获得某种令牌/票证,然后要求CAS验证它以接收用户轮廓。实际身份验证的实际操作只能完成一次,以便CAS可以建立SSO会话,但是当应用程序决定对用户进行身份验证时,获得和验证票证的任务通常是每个应用程序完成的(因为其会话已到期等)。
无论身份验证协议如何,相同的概念或多或少都相同。(Oauth,Cas等)。或多或少地假设您的服务是浏览器所涉及的基于Web的。如果您拥有代表其他后端服务的服务,则相同的解决方案将变得更加复杂。