返回 首页

单点登录思路整理


一. 同一个域名下的单点登录

方案整理

同一域名下的单点登录, 比如有: - 系统a: a.net.com - 系统b: b.net.com - 认证服务器: sso.net.com

首次登录a

  1. 浏览器打开a的某个需要登录的页面,
  2. 跳转到认证服务器,
  3. 认证服务器授权成功后, set_cookie至.net.com域名下
  4. 跳转到系统a

登录b

  1. b可以直接获取到.net.com 下的cookie

改动

后端改动

当客户端发起登录请求: - 如果已经登录, 则提示已经登录, 则set_cookie 并提示已经登录 - 如果未登录, 则提示未登录, 并返回跳转链接

前端改动

二. 不同域名单点登录

比如有:

首次登录a:

  1. 浏览器打开a的某个需要登录的页面,
  2. 跳转到认证服务器,
  3. 认证服务器授权成功后, 将token set_cookie 到sso.com域名下,
  4. 随后跳转到a.com?token=xx
  5. 系统a前端存下token

登录b

  1. 浏览器打开b的某个需要登陆的页面,
  2. 跳转到认证服务器
  3. 认证服务器取出cookie中的token,
  4. 随后跳转到a.com?token=xx
  5. 系统b前端存下token

登录