简单的中央身份验证服务 - 在服务之间导航

时间:2017-12-18 18:13:18

标签: php web-services authentication single-sign-on cas

我在不同的域上提供多种服务,每种服务都有自己的用户表。

我正在努力实现一个简单的统一身份验证系统和单点登录。

到目前为止,我已经制定了工作流程,让用户在CAS页面上注册/登录,并将其重定向到他们选择的服务以及授权码。

然后,服务交换access_token的代码并获取用户详细信息并创建/更新用户并将其登录。

我希望允许用户在对其中一项服务进行身份验证后导航到服务之间。

目标是在多种服务之间提供无缝导航。

当用户导航到另一个服务时,显然该服务需要与CAS服务器进行自己的授权事务,但不确定该事务的性质如何。

当所有服务都使用中央身份验证服务和SSO时,如何在服务之间创建跨服务无相关导航。

1 个答案:

答案 0 :(得分:0)

如果您的服务全部与CAS集成,则每个服务都需要联系CAS以获取某种令牌/票证,然后要求CAS验证它以便接收用户配置文件。实际的身份验证行为只执行一次,以便CAS可以建立SSO会话,但是当应用程序决定对用户进行身份验证时(因为其会话过期等),获取和验证票证的任务通常是每个应用程序执行一次。

无论身份验证协议如何,相同的概念或多或少都相同。 (OAuth,CAS等)。这或多或少假设您的服务是基于Web的,涉及浏览器。如果您有代理其他后端服务的服务,那么相同的解决方案会稍微复杂一些。