一文,教你实现单点登录

近些年,越来越多的企业正在迁移到云端,很多客户期望从任何地方、任何地点、任何核算机上无缝拜访多个运用程序。在另一方面,因为公司在不同标签下都有数百个接触点,因此测验处理一切这些接触点将使他们的 IT 部分倍感繁琐。

单点登录的呈现是为了处理很多企业面对的痛点,即他们的用户及职工需求登录很多程序或系统,每个程序与系统都有不同的用户名和暗码。在企业发展初期,或许仅仅有几个程序时,办理账户和暗码不是一件难事。可是当企业有数十、数百、数千运用程序时,企图了解哪位客户、哪位职工在运用哪个运用程序或系统中的什么账户、具有哪些权限变得异常困难。

能否合理分配职工拜访哪些程序和系统,关于合规性和监管性要求高的公司至关重要。所以,企业迫切需求一个轮子——这个轮子能够让职工只输入一次账号和暗码,成功登录后,就能够拜访任何相互信任的系统。

01

什么是单点登录?

单点登录英文全称 Single Sign On,简称 SSO。它的界说是:在多个运用系统中,用户只需求登录一次,即可拜访一切相互信任的运用系统。例如,常见的单点登录是经过一次登录拜访各种运用程序。例如,登录您的职工账号就能够让您拜访飞书、销售易、客户系统等运用程序,无需再次输入账号和暗码。

02

常见的单点登录五种协议

常见的 OIDC、OAuth 2.0、SAML2、CAS 3.0、LDAP 为规范认证协议。规范协议会按照特定的方法传递用户信息,正规的事务系统产品都会支撑规范协议,运用规范协议对接能够一劳永逸地完成对接。

规范协议的推荐度:OIDC > SAML2 > CAS 3.0 > LDAP > OAuth2.0。下面咱们来一一介绍:

OAuth 是一种关于授权(Authorization)的敞开网络规范,是现在最盛行的授权机制,在客户与服务商之间,设置授权层。客户必须先登录授权层,此刻服务商会向客户授权令牌的权限及运用期限,然后客户才干登录服务商,运用其服务。

现在最新的版本为 OAuth 2.0 版,首要有四个主体:

授权服务器,负责颁发拜访令牌(Access Token),Authing 是授权服务器。

资源一切者,运用的用户是资源的一切者,授权其他人拜访其资源。

调用方,调用方恳求获取拜访令牌(Access Token),经过用户授权后,Authing 为其颁发拜访令牌(Access Token)。调用方能够带着拜访令牌(Access Token)到资源服务器拜访用户的资源。

资源服务器,承受拜访令牌(Access Token),然后验证它的被赋予的权限项目,最后回来资源。

OAuth 2.0 有四种授权形式:

授权码(Authorization-code):指的是第三方运用先申请一个授权码,然后再用该码获取令牌。该方法是最常用的流程,安全性也最高,它适用于那些有后端的 Web 运用。

隐藏式(Implicit):该形式面向纯前端运用,App 认证服务器只返还一次授权码。

暗码式(Password):答应客户端或许第三方运用,直接运用用户的账号暗码进行令牌的获取。该方法在用户端运用广泛。

凭证式(Client credentials):适用于没有前端的命令行运用,即在命令行下恳求令牌。该方法操作简略,只需求发送客户恳求,即可取得拜访令牌(Access Token),但这种方法十分不安全,需求对客户端完全信任,且客户端本身需求具备安全性。

常见的 OAuth 2.0 授权流程如下:

在你的运用中,让用户拜访登录链接,浏览器跳转到 Authing,用户在 Authing 完成认证。

浏览器接收到一个从 Authing 服务器发来的授权码。

浏览器经过重定向将授权码附带在重定向地址后边。

你的运用服务将授权码发送到 Authing 获取 AccessToken,假如需求,还会回来 refresh token。

你的运用后端现在知道了用户的身份,后续就能够保存用户信息,重定向到前端其他页面,运用 AccessToken 调用资源方的其他 API 等等。

二、OpenID Connect (OIDC) 是一个身份验证层,是根据 OAuth 2.0 的认证方法,可供给单点登录功用,授权流程同 OAuth 2.0,其对 OAuth 2.0 的扩大,首要体现在——认证与授权进程中会额外返还令牌(ID Token),授权形式与 OAuth 2.0 共同。

OIDC 这个新型单点登录协议在保证安全性的一起,与 OAuth2.0 比较增加了认证才能,与 CAS 比较增加了授权才能,一起运用上比 SAML 简略,保证了认证授权的便捷性、私密性、安全性,是企业办理的最佳选择。

一文,教你实现单点登录

三、一致认证服务(CAS)是一种敞开、简略且齐备的身份验证协议。该协议是客户端、服务器与浏览器的三方约好,是大家都必须恪守的规矩。

在 CAS 协议中,界说了 Service Ticket 作为客户端与服务器之间随机的收据,授权流程如下:

拜访服务:客户端发送恳求拜访运用系统供给的服务资源。

定向认证:客户端会重定向用户恳求到服务器。

用户认证:定向到服务器后,用户进行身份认证。

发放收据:服务器会产生一个随机的 Service Ticket 。

验证收据:服务器会验证收据 Service Ticket 的合法性。

传输用户信息:服务器验证收据经过后,传输用户认证成果信息给客户端。

一文,教你实现单点登录

四、轻量级目录拜访协议 (LDAP) 是一种行业规范,根据 X.500 规范的轻量级目录拜访协议,用来进行一致账号办理、身份验证平台。

可是,LDAP 不会界说登录这些系统的方法,它通常作为身份验证进程和拜访操控进程的一部分。例如,在用户能够拜访特定资源之前,LDAP 可用于查询该用户及其所属的安排,以查看该用户是否有权拜访该资源。

五、安全断言标记语言(SAML)是一个根据 XML 的开源规范数据格式,答应网络上的多台核算机同享安全凭据,SAML2.0 能够完成根据网络跨域的单点登录(SSO), 以便于削减向一个用户分发多个身份验证令牌的办理开销。

首要有两个主体:

服务供给方(Service Provider)

身份供给方(Identity Provider)

授权流程如下:

服务供给方(Service Provider)向 身份供给方(Identity Provider) 宣布 SAML 身份认证恳求消息,恳求其辨别用户身份;

身份供给方(Identity Provider)向用户索要用户名和口令,并验证其是否正确。

假如验证无误,身份供给方(Identity Provider)向服务供给方(Service Provider)返还 SAML 身份认证的应对,表明该用户现已成功登录,该应对中还包括了一些额外信息,以保证应对没有被篡改和伪造。

一文,教你实现单点登录

最后,咱们给 OIDC、OAuth 2.0、SAML2、CAS 3.0 规范认证协议做一个具体比照:

一文,教你实现单点登录

03

Authing 单点登录优势

单点登录 SSO 已成为办理企业世界中用户对运用程序和数据的拜访的日益盛行的选项。Authing 凭借单点登录技术,完成成员、客户在一处拜访任何软件服务,并一致管控身份权限。无论经过企业联合、 社会登录还是用户名和暗码身份验证,用户只需登录一次,就能够运用他们被授予拜访权限的一切运用。

进步职工生产力

在职工忘掉暗码时,无需追求 IT 部分支撑。单点登录只需一个暗码,职工即可拜访其一切运用系统,无需记住全部暗码,也无需处处查找暗码,极大地进步了工作效率。

此外,职工无需在多个登录 URL 之间跳转或重置暗码,每次登录可节省 5 – 15 秒,改进了职工运用体验。

进步安全功用

关于企业来说,单点登录有助于躲避暗码被破解风险,进步系统安全性。单点登录能够协助下降职工因需求输入多个账号和暗码带来的沮丧心情,而自适应多要素认证 MFA 答应他们在登录严格权限的程序或网络之前验证用户身份,二者结合运用,保证了企业和职工信息的安全性,进步了客户信任度,下降了运营本钱。

简化办理难度

单点登录能够协助企业进步办理效率。经过整合身份信息,企业能够轻松操控职工对运用程序和数据的拜访权限,保证只有授权的职工才干拜访相应信息,进步了系统与数据安全性。关于职工的路转调离,都能够一键授权与删去。

下降开发本钱

通常来说,大部分 App 都需求登录和注册功用。假如企业自研,少则花费半个月到一个月,遇到不熟悉相关技术的情况下,或许需求数个月才干完成。以一个程序员 2 万工资来算,养着一个团队做登录系统,就需求花费十几万元。运用单点登录,直接调用 SDK 接口,几行代码就能够集成登录系统,支撑用户一致登录,而且还能够安全办理一切的用户,节约了 50% 研制时刻,节省了用户 90% 登录时刻。

由此,研制能够将更多时刻用在更有价值的地方,比方手机号码闪验功用,用户一键授权即能够用真实号码完成注册和登录,为开发者建立以手机号码为基础的账号系统,手机不插卡也能够轻松认证。

Authing 供给完善易用的文档,而且支撑主流编程语言的 SDK 和更底层的敞开 API 才能以完成更细节的自界说才能。在开发者论坛中,遇到问题还能够与 Authing 工程师在线交流,快速确定并处理问题。

04

Authing 单点登录处理方案

身份自动化

用自动化的账号生命周期办理代替手动式账号办理,人员入职-创立账号-选择部分-授权运用-授权人物-停用-离任-归档-删去,完成自动化生命周期办理。

一致用户办理

一致建立单一身份源,将身份中的属性信息同步至一致目录,向外输出唯一规范数据,便于办理。一起,Authing 一致目录支撑对一致人员账户信息进行集中安全的存储和办理。

一致认证办理

Authing 在一个门户里集成了内外部多套事务系统(例如 C/S 运用、SaaS 运用等), 经过单点登录 SSO,用户只需输入一套账号暗码,即可登录一切事务系统,无需在多运用之间频繁切换。

一致权限办理

Authing 供给一致权限进口、一致权限模型、一致授权、权限生命周期自动化办理、权限合规分析、权限画像等服务,协助处理银行业当时身份权限办理面对的注册难、一致难、授权难、溯源难、查询难、收回难、监管难的问题,打造科学的权限办理系统,整合银行资源,完成用户、运用、设备、服务器、操作系统、 API 权限可管、可控和可视。

一致安全办理

Authing 搭建了风控中台及自适应决议计划引擎,在人员人物、受保护资源、拜访战略、风险操控战略等方面,进行全链路安全审计,提升企业或安排数字化转型进程中的风险操控才能,大规模下降身份相关事务的受损风险。

一文,教你实现单点登录

一文,教你实现单点登录

关于 Authing

Authing 身份云国内首款以开发者为中心的全场景身份云产品,集成了一切主流身份认证协议,为企业和开发者供给完善安全的用户认证和拜访办理服务,已协助 20,000+ 家企业和开发者构建规范化的用户身份系统。

Authing 既是客户的支撑者,也是客户的产品专家和战略顾问,更是值得信任的合作伙伴。咱们供给全球化的身份专家支撑团队,经过网络或电话,7*24 小时不间断支撑。Authing 的协助中心供给最新的技术知识库、商业案例以及与您的同行和 Authing 专家联系的机会。无论您何时需求咱们,Authing 的支撑团队总能最快呼应。

2022 年,Authing 将秉承着致力于客户成功的初衷,协助推动客户重要事务,为完成身份连通、打破数据孤岛而不懈努力。

福利时刻

一文,教你实现单点登录

在 AuthTalk 第一期直播中,数据猿主编张艳飞与 Authing 产品负责人佟野就《为 SaaS 企业供给 SaaS 服务》话题进行了深入探讨,首要包括以下内容:

  • 为什么国内 SaaS 企业营收难、赢利低?
  • TO B 企业数字商业战略的拐点与革新
  • B 端产品 C 端化是产品设计的新风向吗?
  • 为什么说 IDaaS 奠定 SaaS 企业服务柱石?
  • Authing 如何用 SaaS 产品赋能 SaaS 企业?