基于UIC构建单点登录
版权声明 本站原创文章 由 萌叔 发表 转载请注明 萌叔 | 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函数,需要执行以下动作 remove UIC session 告知其它已经登录的系统的执行logout(需要每个参与系统需要提供接口, 清除session) 参考资料 单点登录原理与简单实现 PS: 仔细想想微信公众号的Oauth也是单点登录的过程 请我喝瓶饮料