单点登录的三种实现方式

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

企业在统一员工身份管理时,面临诸多挑战:

应用太多,员工账号密码众多,复杂难记,或设置单一,存在安全隐患。

登录入口众多,没有统一界面,切换频繁,体验差。

不同应用和员工数据之间割裂,不同设备和操作系统不兼容。

不同应用、各地分支机构,档案信息不同。

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

单点登录是一个身份验证机制,英文全称 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 接入单点登录

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


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 215,384评论 6 497
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,845评论 3 391
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 161,148评论 0 351
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,640评论 1 290
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,731评论 6 388
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,712评论 1 294
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,703评论 3 415
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,473评论 0 270
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,915评论 1 307
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,227评论 2 331
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,384评论 1 345
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,063评论 5 340
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,706评论 3 324
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,302评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,531评论 1 268
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,321评论 2 368
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,248评论 2 352

推荐阅读更多精彩内容