前后端分离单点登录SSO实现方案 淘宝、京东跨域获取Cookie、OAuth2、QQ客户端多种模式


演示Demo站点 http://sso.exrick.cn

前后端分离下单点登录实现

单点登录模式 优点 缺点
共享Cookie模式 简单方便,用户体验好 根域名需限制一致;Cookie可能不安全
OAuth2.0模式 灵活安全,不受站点限制 成本稍高,需独立的认证中心
跨域设置Cookie 用户体验好,不受站点限制 比较麻烦;Cookie可能不安全
客户端模式 用户体验好,不受站点限制 成本极高,依赖于用户本地安装客户端应用

共享Cookie模式【完整版】

  • 首先需进入“系统管理-系统配置”菜单中的“其他配置”设置你应用部署的一级域名,用户登录后将在该域名及子级域名下存储Cookie令牌accessToken用于其他站点获取接口,完整版用户详见xboot-sso项目。
  • 其他站点从Cookie中取出accessTokenCookies.get("accessToken")即可携带上accessToken请求其他接口,通常用于内部信任的站点

OAuth2.0模式

认证中心

  • 即通过平台的独立统一认证站点完成身份认证,其他站点通过获取access_token完成授权以及之后的请求鉴权
    • XBoot统一认证地址: 运行前端,路由地址为/authorize,默认即 http://127.0.0.1:9999/authorize, 在线demo地址 http://xboot.exrick.cn/authorize

单点登录流程分析示例

两三句话就能讲明白的事情,网上的大多资料画再复杂的时序图也讲不清关键点

  • 站点1发现用户未登录时,跳转至认证中心
  • 认证中心发现用户未登录(Cookie中没有认证记录),显示认证中心的登录页面
  • 用户输入账号密码登录,认证成功后,前端记录认证信息保存后端返回的accessToken令牌(令牌中有对应的用户名
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值