token实现单点登录原理

自定义加密令牌Token实现单点登录与注销
前言
在日常的业务中,登录功能是非常常见的,除了最简单的cookie校验登录与session会话实现登录之外,针对较复杂的场景还可以使用更高安全的自定义加密令牌token来实现登录功能,此文将会详细介绍这种登录系统的实现方式。

什么是单点登录?
单点登录(Single Sign On),简称为 SSO,指的是应用于多个业务系统中的一种登录机制,在某个应用系统登录一次,就可以访问授权的其他同类应用系统。

比如说,你要进入学校的选课系统查选课,第一次进入的时候,要求你输入学号密码登录。查完选课之后,你又想进入信息系统去查成绩,这时候直接进入信息系统,就能识别你之前的登录信息,不需要再次重复登录,这就是一种单点登录系统。

同理,如果你是先点击进入信息系统查成绩,第一次进入也会要求输入学号密码登录。之后从信息系统,再进入选课系统也就能直接进入了,不需要再重复登录。

简而言之,就是一种 登录一次实现多系统访问 的登录机制。

实现原理是什么?
登录的本质,就是一种用户识别模式,通过用户提交的登录信息来识别用户。

单点登录中,不同的系统,都需要识别出同一个用户,所以需要专门的通用识别凭证令牌 以及一个单独的认证系统,用于完成这个用户识别。

每个应用系统不再需要自行识别用户,获取用户信息,而是接入统一认证系统,根据是否有令牌判定登录状态,根据令牌有效验证判定用户信息。

比如说,学生进入选课系统时,选课系统会检查,当前的浏览器里,是否有一个专门的登录凭证令牌(这个令牌可以取名叫token或者ticket)。如果没有这个令牌,就会跳转到登录页面,要求用户输入信息登录。

用户输入登录信息之后,选课系统会把信息数据发到认证系统,由认证系统进行用户校验。这时候,认证系统就会去检查账号密码,并且告诉应用系统(此处为选课系统),用户的账号密码是否正确,是否有账户异常。

如果校验信息无误,认证系统就会生成一个专门的登录凭证令牌,最终返回保存到用户的浏览器中。

此时,重新进入应用系统(此处为选课系统),应用系统会检查是否存在登录凭证令牌。

如果已经获取了这个令牌,应用系统就会让统一认证系统进行令牌验证,校验这个令牌是否有效。

统一认证系统的判定有效,并且返回用户信息之后,应用系统才会根据这个用户信息来放行用户进入。
在这里插入图片描述
实现细节与流程
登录信息的传输
用户表的设计
用户令牌的生成
用户令牌的附属功能
用户令牌的传输
用户令牌的保存
用户令牌的校验
业务系统的放行
实现示例

  • 2
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值