假如你是企业管理者,你的公司正在使用包括考勤系统、差旅报销系统、在线协同工具等十几甚至几十套不同的软件系统,你的员工是否可以在这些不同的系统中,一次登录全部搞定?有没有发生多人共享同一账号,造成身份管理混乱的情况?
企业在统一员工身份管理时,面临诸多挑战:

  1. 应用太多,员工账号密码众多,复杂难记,或设置单一,存在安全隐患。
  2. 登录入口众多,没有统一界面,切换频繁,体验差。
  3. 不同应用和员工数据之间割裂,不同设备和操作系统不兼容。
  4. 不同应用、各地分支机构,档案信息不同。

单点登录可以解决这些痛点。

单点登录是一个身份验证机制,英文全称 Single Sign On,简称 SSO。它的定义是:在多个应用系统中,用户只需要登录一次,即可访问所有相互信任的应用系统,就像健康保一样,为你的身份做担保。

单点登录 SSO 可以安全地确保员工只需要一组账号与密码,或通过标准协议认证、第三方身份源认证,就可以登录所有被授权的应用系统。例如,员工只需要登录个人 OA 系统的账号密码就可以访问飞书、销售易、客户系统等应用程序,无需再次输入账号和密码。

用户在登录后,服务器需要对其身份进行验证,主要实现方式有三种:

方式 1:通过 session 进行验证

session 称为“会话”,session 对象存储特定用户会话所需的属性及配置信息。简言之,session 就是服务器为了储存用户信息而创建的一个验证手段。用户在登录了一个系统后,服务器会将登录信息储存在一个 session 中,产生 session ID,客户端会保存该 ID;当这个用户再登录其他系统时,服务器会自动复制上一个模块的 session 该服务器的 session 中,以获取用户登录信息,实现用户只登录一次,就可以登录其他系统。在用户退出登录时,服务器会自动删除 session。

整个过程均在服务器端完成,用户实际使用时没有感知。

方式 2:通过 cookie 进行验证

cookie 是某些网站为了辨别用户身份,由服务端生成,发给客户端暂时或永久保存的信息。简言之,cookie 就是一种存储用户数据的媒介。举例来说,当我们打开一个网站,比如新浪、CSDN、知乎时,输入用户名和密码登录后系统会弹出是否保存 cookie,如果我们选择保存,在下一次登录时,就不需要再次输入用户名和密码,而是默认登录成功,直接进入页面。

方式 3:通过 token 进行验证

token 在身份认证中是令牌的意思,在词法分析中是标记的意思。一般作为邀请、登录系统使用。简言之,token 就是一种凭证,用户在登录注册时需要获取凭证,在经过验证后,方可登录相关被授权的应用。

用户在首次登录系统时输入账号和密码,服务器会收到登录请求,然后验证是否正确;

服务器会根据用户信息,如用户 ID、用户名、秘钥、过期时间等信息生成一个 token 签名,然后发给用户;

用户验证成功后,返回 token;

前端服务器收到 token 后,存储到 cookie 或 Local Storage 里;
当用户再次登录时,会被服务器验证 token;

服务器收到用户登录请求后,对 token 签名进行比对:如果 token 验证正确,用户登录成功;如果 token 验证不正确,用户登录失败,跳转到登录页。

session 与 cookie、token 验证的区别

在 Authing 中,无需手动编写操作 session、cookie 或是 token,控制台中可以一键体验单点登录功能,并且支持自建与集成第三方等多种方式,还可以通过 SDK 接入并自定义自己的应用与登录方式。

自建 SSO 方案

开启应用之间的单点登录后,同一个用户池下的不同应用之间的登录状态将会打通,终端用户只需登录一次即可在不同的应用之间畅行。

创建两个应用

首先你可以按照指引创建两个应用。

配置单点登录

进入菜单 应用 > 单点登录 SSO,点击左上角添加应用,然后选择自建应用,在下方的列表里找到刚刚创建的应用,点击 + 号,就完成了多应用单点登录的配置。

体验应用单点登录

进入 单点登录 SSO的应用列表标签,选择一个应用,点击体验登录。

在登录页面完成登录:

成功后会跳转到应用回调地址:

接下来我们点击另一个应用的体验按钮:

用户无需再次输入密码,直接进入了该用用的回调地址:

使用 SDK 接入单点登录

详细的接入流程请见 单点登录 SDK 文档。

代码参考:
https://github.com/Authing/authing-sso-demo/tree/feat-sso-v3-demo

单点登录的三种实现方式相关推荐

  1. 什么是单点登录,单点登录的三种实现方式

    转载地址:https://www.jianshu.com/p/613e44d4a464 单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在 ...

  2. 什么是单点登录?单点登录的三种实现方式

    单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任.单点登录在大型网站里使用得 ...

  3. 面试官:来说说单点登录的三种实现方式

    点击上方蓝色"方志朋",选择"设为星标" 回复"666"获取独家整理的学习资料! 来源:cnblogs.com/yonghengzh/p/1 ...

  4. 实现iframe_单点登录的三种实现方式,你会几种?

    阅读本文大概需要 6 分钟. 作者 | 张永恒来源 | http://urlify.cn/RVvaim 前言 在 B/S 系统中,登录功能通常都是基于 Cookie 来实现的. 当用户登录成功后,一般 ...

  5. 实现iframe_面试官:来说说单点登录的三种实现方式

    前言 在 B/S 系统中,登录功能通常都是基于 Cookie 来实现的.当用户登录成功后,一般会将登录状态记录到 Session 中,或者是给用户签发一个 Token,无论哪一种方式,都需要在客户端保 ...

  6. 前端把cookie写在父域里_单点登录的三种实现方式

    前言 在 B/S 系统中,登录功能通常都是基于 Cookie 来实现的.当用户登录成功后,一般会将登录状态记录到 Session 中,或者是给用户签发一个 Token,无论哪一种方式,都需要在客户端保 ...

  7. ad域帐号登录提示无法处理请求_面试官:来说说单点登录的三种实现方式

    前言 在 B/S 系统中,登录功能通常都是基于 Cookie 来实现的.当用户登录成功后,一般会将登录状态记录到 Session 中,或者是给用户签发一个 Token,无论哪一种方式,都需要在客户端保 ...

  8. ad域帐号登录提示无法处理请求_面试官:说一下单点登录的几种实现方式

    Java面试笔试面经.Java技术每天学习一点 Java面试 关注不迷路 作者:张永恒 来源:https://www.cnblogs.com/yonghengzh/p/13712729.html 在 ...

  9. 什么是单点登录,实现单点登录的三种方法

    单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户的一次登录能得到其他所有系统的信任.单点登录在大型网站里使用得 ...

最新文章

  1. 集成学习(一)—预备知识:分类树和回归树
  2. pytorch学习之路
  3. 结构光三维重建Projector-Camera Calibration投影仪相机标定
  4. tos重装mysql_云服务器(腾讯云)从零开始部署记录(3)之mysql5.7安装
  5. php数据库可转java数据库,php转java 系列2 Spring boo 链接数据库jdbc
  6. webpack打包后的文件夹是空的_webpack打包Vue工程
  7. 自旋锁spin : spin_lock_irq , spin_lock_irqsave
  8. java后置过滤器_java - 如何使用zuul将响应主体提取到后置过滤器中
  9. uni-app实战仿微信app开发
  10. 服务器安装字体库解决出现xx问题
  11. PHP的设计模式及场景应用介绍
  12. 正则校验18位身份证号,拿走即用!
  13. 8月第4周基金排行榜 | TokenInsight
  14. 绿卡日记:2020-11-20
  15. java rtmp推流_视频直播生成推流和播放地址的Java代码示例
  16. 订单里面有多个商品的问题怎么解决
  17. 在梦中写代码的程序员,比例居然这么高
  18. Mac 备份 time machine开启全速备份
  19. 华为认证HCIP的持证人数
  20. Java 第十二章.网络编程

热门文章

  1. 【ASE入门学习】ASE入门系列十二——Ramp采样(渐变采样)
  2. 利用腾讯漏洞,QQ群日拉万人精准流量的方法
  3. 5分绩点转4分_gpa5分制换算4分制(5分绩点转4分)
  4. 高考数学95分能学计算机吗,数学模考5分到高考95分?
  5. Windows电脑加速小技巧(VIP典藏版)
  6. 免费发外链论坛有哪些?
  7. Shinobi开源监控项目安装
  8. JAVA基于NIO客户端对客户端简单聊天DEMO(服务器转发消息)
  9. 医疗器械行业数据分析必备软件--全球可查
  10. 极路由4增强版编译aria2-1.34