SSO 登陆简单实现

11 Dec 2015 Category: PHP

SSO又称单点登录。简单的说就是多个站点应用(域名不一定在同一个主域名下),在任意一 个子系统中登录,其他系统都实现登陆。同样,一个站点退出,其他站点也退出。

SSO 登录的难点在于如何保持多个系统同步。

实现SSO登陆的步骤如下:

退出过程:

上面的就是整个sso的过程,其实这里面还有一些方面没处理。所有的登录登出操作都是在 passport处理的,因此数据同步是单项性的。如果各个登录登出操作是在每个子系统本身处 理的,那就需考虑client到passport的状态同步。同时,单点登录系统需要对参数进行加密, 子系统和passport直接可以根据同样的key对参数进行ras加密,保证数据传输过程中不被破解

个人代码可参见github