• SAML 2.0 的 SSO(Single Sign On,单点登录) 身份提供商( IdP )


    阿里云支持基于 SAML 2.0 的 SSO(Single Sign On,单点登录),也称为身份联合登录。

    阿里云目前支持两种 SSO 登录方式:

      1. 通过角色 SSO,企业可以在本地 IdP 中管理员工信息,无需进行阿里云和企业 IdP 间的用户同步,企业员工将使用指定的 RAM 角色来登录阿里云;
      2. 通过用户 SSO,企业员工在登录后,将以 RAM 用户身份访问阿里云。

    身份提供商( IdP )使用背景

    腾讯云支持基于 SAML2.0 的 SSO (Single sign On,单点登录),通过 IdP 身份验证的外部用户可直接访问您的腾讯云资源。腾讯云目前支持两种 SSO 登录方式:

    1. 角色 SSO:企业可以在本地 IdP 中管理员工信息,无需进行腾讯云和企业 IdP 间的用户同步,企业员工特通过指定的 CAM 角色登录腾讯云;

    2. 用户 SSO:腾讯云通过 IdP 颁发的 SAML 断言或 OIDC 令牌确定企业用户与腾讯云 CAM 用户的对应关系,企业用户登录后,使用该 CAM 用户访问腾讯云。

     
     
    MaxKey: MaxKey单点登录认证系统是业界领先的IAM身份管理和认证产品,支持OAuth2.x、OpenID Connect、SAML2.0、JWT、CAS、SCIM等SSO标准协议 https://gitee.com/dromara/MaxKey

    单点登录(Single Sign On)简称为SSO,用户只需要登录认证中心一次就可以访问所有相互信任的应用系统,无需再次登录。

    主要功能:

    1. 所有应用系统共享一个身份认证系统
    2. 所有应用系统能够识别和提取ticket信息
     MaxKey-业界领先的IAM身份管理和认证产品 https://maxkey.top/zh/am/slo.html

    1、单点注销-Single Logout

    单点注销是指用户在一个系统退出后,其所能单点登录访问的所有系统都同时退出。单点注销主要是为提高安全性,避免用户忘记退出所有应用而造成信息的泄密。

    IDP支持单点注销(SLO),即用户不仅仅从认证中心注销,同时也注销从认证中心访问的应用系统。

    其实现方式也非常简单,由于SSO和单点登录的应用都是分开的,使用不同的域名,只是通过认证中心在多个应用系统中传递身份和登录系统。因此,首先注销单点登录应用,然后修改每个应用系统都使用SSO的单点注销页面,SSO的退出页面会将用户登录的Session注销掉。

    2、单点注销

    1,应用系统先完成本系统注销,注销完成后调用认证中心的单点注销地址。

    2,修改应用单点注销完成后的地址为https://sso.maxkey.top/maxkey/logout,参数reLoginUrl为注销完成后访问地址。

    3、单点注销机制

    MaxKey在登录完成后,会生成在线令牌,该令牌存储在Cookie和服务器中,当单点登录是会向应用传递在线令牌,应用通过判断令牌的状态检查当前用户是否在线,如果令牌失效,则应用自动注销,达到单点注销的功能。

    3.1、IDP主动注销

    MaxKey注销时向SP发送注销请求,请求包含注销的令牌,SP获取注销的令牌,通知客户端进行注销

    基于CAS的单点登录,在单点登录时SP记住MaxKey的ticket,当MaxKey单点注销时向SP发送参数为logoutRequest,请求内容入下

    
    <samlp:LogoutRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="%s" Version="2.0" IssueInstant="%s">
    	<saml:NameID xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">%s</saml:NameID>
    	<samlp:SessionIndex>%s</samlp:SessionIndex>
    </samlp:LogoutRequest>
    

    基于MaxKey在线token注销机制,在单点登录时MaxKey会把在线token发送给SP,SP需要存储该令牌,当MaxKey单点注销时向SP发送请求

    序号参数备注
    1 request logoutRequest
    2 id 随机id
    3 principal 登录用户名
    4 issueInstant 登出时间
    5 ticket 当前在线ticket
    3.2、SP接口注销

    SP向MaxKey的接口定时发送请求,检查令牌的有效性,如果令牌失效,则应用退出登录,验证在线token地址maxkey/onlineticket/validate,参数为ticket为令牌id

    3.3、Cookie有效性注销

    登录完成后在线令牌存储在.maxkey.top的域名下,Cookie名称为online_ticket,SP应用和MaxKey使用子域名.maxkey.top,应用根据令牌有效性判断是否注销。

    3.4、关闭浏览器注销

    MaxKey注销,然后在注销的界面使用javascript关闭浏览器。

    3.5、实现机制比较
    序号机制适应场景
    1 IDP主动注销 SP实现接口用于MaxKey调用
    2 SP接口注销 对MaxKey请求频繁有一定压力
    3 Cookie有效性注销 同域,实现简单
    4 注销MaxKey并关闭浏览器 关闭整个浏览器
     MaxKey-业界领先的IAM身份管理和认证产品 https://maxkey.top/zh/college/sso.html

    单点登录

    单点登录(英语:Single sign-on,缩写为 SSO),中文译为单点登录,一种对于许多相互关连,但是又是各自独立的软件系统, 提供访问控制的属性。当拥有这项属性时,当用户登录时,就可以获取所有系统的访问权限,不用对每个单一系统都逐一登录。

    介绍

    在日常生活中,很多人由于忘记某些网站的登录密码而烦恼,因为大多数用户都要记忆不少于10个用户名和相应密码。为了便于记忆,很多人都在不同的站点使用相同的用户名和密码,虽然这样可以减少负担,但是同时也降低了安全性,而且使用不同的站点同样要进行多次登录。同时,随着信息化飞速发展,大型企业和政府部门等都开始使用电子系统进行办公,而且整个办公系统由多个不同的子系统构成,如办公自动化(OA)系统,财务管理系统,档案管理系统,信息查询系统等。如果每个系统都使用独立的登录和验证机制,那么每天工作人员都要登录不同的系统进行办公。用户登录的频繁操作,降低了员工的工作效率,造成工作成本的浪费。而大量的密码和用户名的记忆时间长了也会出现问题,忘记密码或者混淆密码都会造成很大的麻烦。基于以上原因,为用户提供一个畅通的登录通道变得十分重要。

    单点登录(SingleSign-On,SSO)是一种帮助用户快捷访问网络中多个站点的安全通信技术。单点登录系统基于一种安全的通信协议,该协议通过多个系统之间的用户身份信息的交换来实现单点登录。使用单点登录系统时,用户只需要登录一次,就可以访问多个系统,不需要记忆多个口令密码。单点登录使用户可以快速访问网络,从而提高工作效率,同时也能帮助提高系统的安全性。

    百度百科 :百度词条

    优势

    用户只需登录一次,即可通过单点登录系统访问后台的多个 应用系统,二次登陆时无需重新输入用户名和密码。

    减少了由登录产生的时间消耗,辅助了用户管理。

    基于角色访问控制:根据用户的角色和URL实现访问控制功能

    全面的日志审计:精确地记录用户的日志,可按日期、地址、用户、资源等信息对日志进行查询、统计和分析

     
     
     
     
     
     
     
  • 相关阅读:
    Prototype源码浅析——Object部分(一)
    JS构建页面的DOM节点结构(二)
    Prototype源码浅析——Object部分(二)之类型检测
    createElement与createDocumentFragment的点点区别
    Prototype源码浅析——Function.prototype部分(二)
    CSS3月食
    javascript管中窥豹——形参与实参
    JS获取整个页面的文档
    2012年总结
    Windows下Android环境搭建(最新最方便)
  • 原文地址:https://www.cnblogs.com/rsapaper/p/15926346.html
Copyright © 2020-2023  润新知