阅读 600

单点登录(SSO)简介

本文汇总了

的内容,版权归原网站所有!

什么是单点登录

单点登录(SSO)是一种允许用户仅使用一组登录凭据(例如,一个用户名和密码)登录,从而可以安全地认证多个应用程序的系统。使用 SSO,用户尝试访问的应用程序或网站依赖于受信任的第三方来验证用户身份。一个例子就是你每天要用的谷歌的在线应用套件。

为什么单点登录很重要?

单点登录可以帮助公司提高工作效率,节省时间和金钱。

在用户方面,SSO 节省了时间和精力,因为用户不必重复登录多个应用程序。这提供了简化的(steamlined)用户体验,减少了软件因处理许多不同的密码和用户帐户而遇到的帐户访问问题。

单点登录也非常适合管理员。中心化的 SSO 系统更容易在不同应用间监控用户账户。它减少了访问问题(例如错误密码或忘记密码)的数量,节省了管理员和技术支持人员的时间。另外,因为注册时仅需一个密码,也减少了需要维护的密码数量。

没有 SSO 的认证如何工作?

如果没有单点登录,每个网站都会维护自己的用户及其凭据数据库。当你尝试登录应用或网站时会发生以下情况:

  1. 该网站首先检查你是否已经过身份验证。如果有,它可以让您访问该网站。
  2. 如果还没有,它会要求你登录,并根据其用户数据库中的信息检查你的用户名和密码。
  3. 登录后,当您在网站中浏览时,网站会传递身份验证验证数据,以确认每次转到新网页时都会对您进行身份验证。
    用户请求访问
    用户已授权的访问,之后访问新网站
    身份验证数据通常用带有会话数据的 cookie 或作为令牌传递,不跟踪会话并且处理速度更快。

SSO 如何工作?

使用 SSO 进行身份验证依赖于域(网站)之间的信任关系。通过单点登录,当你尝试登录应用或网站时会:

  1. 用户访问目标域。网站首先检查你是否已经过 SSO domain 的身份验证,如果是,它可以让你访问该网站。
  2. 如果还没有,它会将你重定向到 SSO domain 进行登录。
  3. 你输入用于企业访问的用户名/密码。
  4. SSO tool 从公司使用的身份提供商或身份验证系统请求身份验证,生成一个加密令牌。
  5. SSO server 将身份验证数据传递到网站并将你带回到该站点。
  6. 加密令牌作为你已经被授权的凭证。
  7. 当你在网站中浏览时,网站会携带身份验证数据,每次转到新网页时都会确认你的身份验证。

用户请求访问
用户已授权的访问,之后访问新网站

基于令牌的身份验证是另一个重要的登录概念(在此处了解更多信息)。 SSO系统基本上依赖于这些令牌来“记住”已经允许用户访问与该中央 SSO 相关联的所有应用。

SSO身份验证是否安全?

简短的回答是:是的。SSO 系统在正确实现并与其他现代网络安全工具一起使用时非常安全。

详细的回答。SSO 身份验证系统可以提高互联网的整体安全性,主要有两个原因:

  • 减少了人们在互联网上创建和使用的弱密码的数量。
  • 创建了更集中的系统,管理员可以更轻松地进行管理和保护。

但是,将多个流程集中到一个系统中也存在一些风险。如果黑客进入该中央系统或窃取用户密码,他们就可以访问连接到该 SSO 系统的所有应用程序和工具。

值得庆幸的是,向 SSO 登录系统添加额外的安全工具很容易。

SSO 与 OAuth

通俗的解释,SSO 是处理一个公司内的不同应用系统之间的登录问题,比如阿里巴巴旗下有很多应用系统,我们只需要登录一个系统就可以实现不同系统之间的跳转。

OAuth 是不同公司遵循的一种授权方案,也是一种授权协议,通常都是由大公司提供,比如腾讯,微博。我们常用的QQ登录,微博登录等,使用 OAuth 的好处是可以使用其他第三方账号进行登录系统,减少了因用户懒,不愿注册而导致用户流失的风险。

现在一些支付业务也用 OAuth,比如微信支付,支付宝支付。还有一些开放平台也用 OAuth,比如百度开放平台,腾讯开放平台。

CAS 单点登录的流程如下:


扩展阅读:

  1. mp.weixin.qq.com/s/TSkdxVN9m…
  2. juejin.im/post/5a002b…
  3. apereo.github.io/cas/4.2.x/p…
关注下面的标签,发现更多相似文章
评论