本篇主要介绍一个多端同步登录的实现方案.

- 项目背景
- 四个客户端, 且都是前后端分离的项目
- 一个 api server, 为各个客户端提供接口服务
- 一个登录中心, 各个客户端的登录都要跳转到登录中心实现
这种同步登录的实现还用到一个前端库: cross-storage. 这个库可以跨域写入localstorage, 这是前提.
实现步骤:
-
需要登录, 各个客户端跳转到登录中心进行登录
-
登录中心校验账户和密码, 登录成功写入session
-
登录中心使用账户密码请求api-server的登录接口, 获取认证token
-
登录中心将认证token通过 cross-storage 写入到各个客户端的localstorage中
以上就是实现这种机制的大概流程, 各个客户端拿到token之后就可以与 api-server 进行通信了.
当然还有很多实现细节在这里没有提到, 比如token刷新通知到各个客户端, 同步退出等等. 欢迎与大家交流.
网友评论