版权声明 本站原创文章 由 萌叔 发表
转载请注明 萌叔 | http://vearne.cc

1. 前言

在阅读open-falcon源码时,意外发现它有个UIC(用户中心), 这个项目的代码实现比较简单,唯一问题是界面有点丑

传送门:
UIC github地址

公司正好有个前后端分离的项目需要做登录,因此我打算基于UIC来做单点登录

2. 实现

关于单点登录的基本概念请阅读参考资料1自行脑补

2.1 login过程

注①② 也可采用cookie的方案,本方案是将sig存储在浏览器的localstorage中,每次请求后端API时,附带在Header头中
注③ 一般可以采用302跳转的方案,但是UIC项目本身是通过JS实现的Redirect到callback URL

2.2 logout过程

logout过程需要对UIC进行改造
调用UIC的logout函数,需要执行以下动作
1. remove UIC session
2. 告知其它已经登录的系统的执行logout(需要每个参与系统需要提供接口, 清除session)

参考资料

  1. 单点登录原理与简单实现

PS: 仔细想想微信公众号的Oauth也是单点登录的过程

如果我的文章对你有帮助,你可以给我打赏以促使我拿出更多的时间和精力来分享我的经验和思考总结。

微信支付码

发表评论

电子邮件地址不会被公开。 必填项已用*标注

This site uses Akismet to reduce spam. Learn how your comment data is processed.