• 单点登录SSO的含义


    目录

    SSO 概念

    SSO 服务

    SSO 令牌

    SSO 流程

    SSO 实现类型


    SSO 概念

    • SSO英文全称Single Sign On,单点登录,是一种身份验证解决方案
    • 是一种对于许多相互关连,但是又是各自独立的软件系统,提供访问控制的属性
    • SSO是指在多个应用系统中,用户只需要登录一次就可以访问所有相互信任的应用系统
    • 一旦验证身份,用户就可以访问所有受密码保护的资源,而无需重复登录
    • SSO 解决方案中的重要组件如下所示:

    SSO 服务

    • SSO 服务是用户登录时应用程序依赖的中心服务
    • 如果未经身份验证的用户请求访问应用程序,应用程序会将他们重定向到 SSO 服务
    • 然后,该服务对用户进行身份验证并将用户重定向回原始应用程序
    • 该服务通常在专用的 SSO 策略服务器上运行

    SSO 令牌

    • SSO 令牌是包含用户识别信息的数字文件,例如用户名或电子邮件地址
    • 当用户请求访问应用程序时,应用程序会与 SSO 服务交换 SSO 令牌以对用户进行身份验证

    SSO 流程

    • 1-当用户登录应用程序时,应用程序会生成 SSO 令牌并向 SSO 服务发送身份验证请求
    • 2-该服务会检查用户之前是否在系统中进行了身份验证;如果是,它会向应用程序发送一个身份验证确认响应,以授予用户访问权限
    • 3-如果用户没有经过验证的凭证,SSO 服务会将用户重定向到中央登录系统并提示用户提交其用户名和密码
    • 4-提交后,服务会验证用户凭证并将肯定响应发送到应用程序
    • 5-否则,用户会收到错误消息并且必须重新输入凭证;多次尝试登录失败可能会导致服务阻止用户在固定的时间段内进行更多尝试

    SSO 实现类型

    • SSO 解决方案使用不同的标准和协议来对用户凭证进行验证和身份验证
    • 1-SAML
    • SAML(或安全断言标记语言)是应用程序用来与 SSO 服务交换身份验证信息的协议或规则集
    • SAML 使用 XML(一种浏览器友好的标记语言)来交换用户标识数据
    • 基于 SAML 的 SSO 服务提供更好的安全性和灵活性,因为应用程序不需要在其系统上存储用户凭证
    • 2-OAuth
    • OAuth(或开放授权)是一种开放标准,它允许应用程序安全地从其他网站获取用户信息,而无需提供密码
    • 应用程序不是请求用户密码,而是使用 OAuth 来获得用户访问受密码保护的数据的权限
    • OAuth 通过 API 建立应用程序之间的信任,允许应用程序在已建立的框架中发送和响应身份验证请求
    • 3-OIDC
    • OpenID 是使用一组用户凭证访问多个站点的方法
    • 它允许服务提供商承担验证用户凭证的角色
    • Web 应用程序不是将身份验证令牌传递给第三方身份提供商,而是使用 OIDC 来请求附加信息并验证用户的真实性
    • 4-Kerberos
    • Kerberos 是一种基于票证的身份验证系统,可让两方或多方在网络上相互验证其身份
    • 它使用安全密码学来防止未经授权访问在服务器、客户端和密钥分发中心之间传输的标识信息
  • 相关阅读:
    Java并发编程的艺术总结(1)
    【前端设计模式】之单例模式
    会计制度设计试题及答案
    【面试题】说说你对 async和await 理解
    制造工厂生产线液晶电子看板显示终端
    Functional Programming in Java venkat(16) Being Lazy part3
    day13学习总结
    2021年9月电子学会图形化二级编程题解析含答案:画正多边形
    点餐小程序实战教程03-用户注册
    Codeforces Round #818 (Div. 2)
  • 原文地址:https://blog.csdn.net/weixin_59624686/article/details/139424309