返回
首页
单点登录思路整理
一. 同一个域名下的单点登录
方案整理
同一域名下的单点登录, 比如有:
- 系统a: a.net.com
- 系统b: b.net.com
- 认证服务器: sso.net.com
首次登录a
- 浏览器打开a的某个需要登录的页面,
- 跳转到认证服务器,
- 认证服务器授权成功后, set_cookie至.net.com域名下
- 跳转到系统a
登录b
- b可以直接获取到.net.com 下的cookie
改动
后端改动
当客户端发起登录请求:
- 如果已经登录, 则提示已经登录, 则set_cookie 并提示已经登录
- 如果未登录, 则提示未登录, 并返回跳转链接
前端改动
- 未登录会跳转, 前端关于跳转不必改动.
- 已登录不必跳转.
二. 不同域名单点登录
比如有:
- 系统a: a.com
- 系统b: b.com
- 认证服务器: sso.com
首次登录a:
- 浏览器打开a的某个需要登录的页面,
- 跳转到认证服务器,
- 认证服务器授权成功后, 将token set_cookie 到sso.com域名下,
- 随后跳转到a.com?token=xx
- 系统a前端存下token
登录b
- 浏览器打开b的某个需要登陆的页面,
- 跳转到认证服务器
- 认证服务器取出cookie中的token,
- 随后跳转到a.com?token=xx
- 系统b前端存下token
登录