关于前端:单点登录SSO

5次阅读

共计 1075 个字符,预计需要花费 3 分钟才能阅读完成。

单点登录

单点登录:Single Sign On,简称 SSO。用户只有登录一次,就能够拜访所有相干信赖利用的资源。企业外面用的会比拟多,有很多内网平台,然而只有在一个零碎登录就能够。

实现计划

  • 繁多域名:能够把 cookie 种在根域名下实现单点登录
  • 多域名:罕用 CAS 来解决,新增一个认证核心的服务。CAS(Central Authentication Service)是实现 SSO 单点登录的框架

CAS 实现单点登录的流程:

  1. 用户拜访零碎 A,判断未登录,则间接跳到认证核心页面
  2. 在认证核心页面输出账号,明码,生成令牌,重定向到 零碎 A
  3. 在零碎 A 拿到令牌到认证核心去认证,认证通过,则建设对话
  4. 用户拜访零碎 B,发现没有无效会话,则重定向到认证核心
  5. 认证核心发现有全局会话,新建令牌,重定向到零碎 B
  6. 在零碎 B 应用令牌去认证核心验证,验证胜利后,倡议零碎 B 的部分会话。

具体的能够上面的文章,解说的很具体

  • CAS 实现单点登录 SSO 执行原理探索(终于明确了)
  • 一张图看明确 CAS 单点登录原理

关键点

上面是举例来具体阐明 CAS 实现单点登录的流程:

一、第一次拜访零碎 A

  1. 用户拜访零碎 A (www.app1.com),跳转认证核心 client(www.sso.com),而后输出用户名,明码登录,而后认证核心 serverSSO 把 cookieSSO 种在认证核心的域名下 (www.sso.com),重定向到零碎 A,并且带上生成的 ticket 参数 (www.app1.com?ticket =xxx)
  2. 零碎 A (www.app1.com?ticket =xxx)申请零碎 A 的后端 serverA,serverA 去 serverSSO 验证,通过后,将 cookieA 种在 www.app1.com 下

二、第二次拜访零碎 A
间接携带 cookieA 去拜访后端,验证通过后,即登录胜利。

三、第三次拜访零碎 B

  1. 拜访零碎 B (www.app2.com),跳转到认证核心 client(www.sso.com),这个时候会把认证核心的 cookieSSO 也携带上,发现用户已登录过,则间接重定向到零碎 B(www.app2.com),并且带上生成的 ticket 参数(www.app2.com?ticket =xxx)
  2. 零碎 B (www.app2.com?ticket =xxx)申请零碎 B 的后端 serverB,serverB 去 serverSSO 验证,通过后,将 cookieB 种在 www.app2.com 下

留神 cookie 生成机会及种的地位。

  • cookieSSO,SSO 域名下的 cookie
  • cookieA,零碎 A 域名下的 cookie
  • cookieB,零碎 B 域名下的 cookie
正文完
 0