SSO认证服务器实现原理(一)

 

单Web应用登录,主要涉及到认证、授权、会话建立、取消会话等几个关键环节。在多系统,每个系统也会涉及到认证、授权、会话建立取消等工作。那我们把每个系统的认证工作抽象出来,放到单独的服务应用中取处理,我们把这个负责认证工作的系统叫做认证中心。

下面声明两个概念,局部变量和全局会话

局部会话:浏览器客户端与应用系统之间保持的会话。

全局会话:浏览器客户端与认证中心的会话。

实现单点登录sso我们还需要考虑几个问题:

1、应用系统将登录认证工作交给认证中心?---此处我们可以采用一个http的重定向,将客户端的请求重定向到认证中心

2、用户在认证中心登录后,如何将处理结果传递给应用系统?--- 我们知道,http协议传递信息的方式有两种,cookie和参数两种,cookie在此处会遇到跨域问题,那么我们只能采用参数的传递方式,将参数做成令牌(token)传递

3、应用系统如何能够识别此令牌就是认证中心发出的有效令牌?--- 那么我们还需要应用系统与认证中心进行服务端通信,因为此通信不经过浏览器,难以截获,是相对安全的。

4、登录状态的判断--- 通过我们前面说的局部和全局会话

5、登出问题--- 当客户端执行了登出的操作,如何保证在访问其他系统时处于状态一致,下面我简要描述一下登出的过程,一、客户端发出登出请求,请求到达应用系统,应用系统重定向到认证中心,应用系统告诉客户端登出成功,然后认证中心已广播的形式告诉所有该用户访问应用系统,该用户已经登出。




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值