黑狐家游戏

单点登录的三种实现方式简书,单点登录通俗解释

欧气 4 0

本文目录导读:

  1. 基于Cookie的单点登录实现方式

单点登录(SSO)通俗解释:原理与三种实现方式

在当今数字化的世界里,我们经常需要使用多个应用程序或系统,单点登录(SSO)就是一种方便用户的技术,让用户只需登录一次,就能够访问多个相互信任的应用程序或系统,这就好比你在一个大楼里,只需要用一把钥匙(登录凭证)打开大楼的大门(单点登录系统),然后就可以自由进入大楼里的各个房间(不同的应用程序)。

基于Cookie的单点登录实现方式

(一)原理

单点登录的三种实现方式简书,单点登录通俗解释

图片来源于网络,如有侵权联系删除

1、Cookie的基础作用

- Cookie是存储在用户浏览器中的小数据块,在基于Cookie的单点登录中,认证服务器会在用户成功登录后,在用户浏览器中设置一个Cookie,这个Cookie包含了用户的身份标识或者是一个加密的令牌,用于后续对用户身份的验证。

- 当用户登录到一个大型企业的办公平台时,认证服务器(如企业内部的身份验证服务器)会在用户浏览器中创建一个名为“SSO - Token”的Cookie,其中包含了用户的员工编号、用户名等经过加密的身份信息。

2、跨域访问与Cookie共享

- 在多个应用程序需要共享登录状态的情况下,如果这些应用程序属于同一域名的不同子域,app1.example.com”和“app2.example.com”,可以通过设置Cookie的域名属性来实现Cookie共享。

- 如果是完全不同的域名,如“example1.com”和“example2.com”,就需要一些特殊的技术手段,通常可以利用一些中间件或者代理服务器,在符合安全和隐私政策的前提下,实现Cookie信息在不同域名之间的传递,从而达到单点登录的效果。

(二)实现流程

1、用户首次登录

- 用户访问应用程序A,应用程序A将用户重定向到单点登录认证服务器,用户在认证服务器上输入用户名和密码进行登录。

- 认证服务器验证用户身份成功后,在用户浏览器中设置一个Cookie,同时生成一个票据(Ticket),并将票据通过重定向的方式返回给应用程序A,应用程序A验证票据的有效性后,允许用户访问。

2、访问其他应用程序

- 当用户想要访问应用程序B时,应用程序B发现用户浏览器中存在单点登录认证服务器设置的Cookie,于是向认证服务器发送验证请求,认证服务器根据Cookie中的信息进行身份验证,然后向应用程序B返回验证结果,如果验证成功,应用程序B允许用户访问。

二、基于SAML(安全断言标记语言)的单点登录实现方式

单点登录的三种实现方式简书,单点登录通俗解释

图片来源于网络,如有侵权联系删除

(一)原理

1、SAML的角色与断言

- SAML定义了三个主要角色:身份提供者(IdP)、服务提供者(SP)和用户,身份提供者负责对用户进行身份验证,服务提供者是需要用户登录才能访问的应用程序或系统。

- SAML通过安全断言来传递用户的身份信息,安全断言是一种XML格式的消息,包含了关于用户身份、用户属性(如姓名、部门等)以及认证信息的声明,身份提供者在用户登录成功后,会生成一个包含“用户名是John,所属部门是研发部,已通过密码验证”等信息的SAML断言。

2、信任关系建立

- 身份提供者和服务提供者之间需要建立信任关系,这通常通过交换数字证书和元数据来实现,数字证书用于验证双方的身份,元数据则包含了双方的配置信息,如身份提供者的登录接口地址、服务提供者的断言消费者服务(ACS)地址等。

(二)实现流程

1、用户登录与断言生成

- 用户访问服务提供者(应用程序),服务提供者发现用户未登录,将用户重定向到身份提供者的登录页面,用户在身份提供者处登录成功后,身份提供者根据用户的身份信息和认证结果生成SAML断言。

2、断言传递与验证

- 身份提供者将SAML断言通过重定向的方式发送给服务提供者,服务提供者接收到断言后,根据之前与身份提供者建立的信任关系,验证断言的签名和内容,如果验证成功,服务提供者根据断言中的用户身份信息允许用户访问。

三、基于OAuth(开放授权)的单点登录实现方式

(一)原理

单点登录的三种实现方式简书,单点登录通俗解释

图片来源于网络,如有侵权联系删除

1、授权与资源访问

- OAuth主要用于在不暴露用户密码的情况下,授权第三方应用程序访问用户在某个服务提供商(如社交媒体平台)上的资源,在单点登录场景下,它可以被看作是一种通过授权来实现登录的方式。

- 一个第三方健身应用想要让用户使用他们在社交媒体平台上的头像和基本信息进行注册登录,OAuth允许健身应用向社交媒体平台请求授权,而无需用户提供社交媒体平台的密码。

2、令牌的使用

- OAuth使用令牌(如访问令牌和刷新令牌)来控制对资源的访问,访问令牌用于获取用户的资源,刷新令牌用于在访问令牌过期时获取新的访问令牌,这些令牌是经过加密和签名的,以确保安全性。

(二)实现流程

1、用户授权请求

- 当用户想要使用单点登录通过第三方应用访问某个服务时,第三方应用向服务提供商(如身份验证服务器)发送授权请求,这个请求会重定向用户到服务提供商的授权页面,用户在页面上可以看到第三方应用请求的权限范围(如获取用户的基本信息、联系人列表等)。

2、授权与令牌颁发

- 如果用户同意授权,服务提供商验证用户身份后,向第三方应用颁发访问令牌和可能的刷新令牌,第三方应用使用访问令牌向服务提供商请求用户的资源,从而实现单点登录的效果,即用户无需在第三方应用中再次输入用户名和密码,而是通过服务提供商的授权完成登录过程。

单点登录通过不同的实现方式,为用户提供了便捷的登录体验,同时也提高了企业或组织在多应用环境下的安全性和管理效率,不同的实现方式适用于不同的场景,企业和开发者可以根据自身的需求和技术架构选择合适的单点登录方案。

标签: #单点登录 #实现方式 #简书 #通俗解释

黑狐家游戏
  • 评论列表

留言评论