十一月缩写_1th代表一个月吗


安全断言标记语言(Security Assertion Markup Language,简称SAML),是一种基于XML的开源标准数据格式。它主要在各参与方之间,特别是身份提供者与服务提供者之间,交换身份验证和授权数据。

SAML2.0能够实现网络跨域的单点登录(SSO),这样能够减少向用户分发多个身份验证令牌的管理开销。

在SAML协议中,涉及两个主要实体:服务提供方(Service Provider,简称SP)和身份提供方(Identity Provider,简称IdP)。

服务提供方,如阿里云控制台、腾讯云控制台和AWS控制台等,负责提供服务。而身份提供方,如Authing、Okta、SSOCircle和Auth0等,负责向服务提供方发送身份断言。

这些实体之间通过用户的浏览器进行信息交换。服务提供方能够发送带有参数的重定向HTTP响应,使得用户的信息能够迅速传递给身份提供方。而身份提供方则会返回一个包含立即提交表单的JS代码的表单,以便用户信息能迅速传回给服务提供方。

简而言之,服务提供方需要确认用户身份时,会向身份提供方发送SAML Request(通过浏览器发送)。当用户在身份提供方成功登录后,身份提供方会以SAML断言的形式将用户身份信息发给服务提供方。服务提供方信任该身份断言,从而赋予用户在服务提供方的相关权限。

当无法鉴定用户身份时,服务提供方会发起SAML Request。该请求的参数通过URL的query部分发送给身份提供方。

以阿里云控制台发起的SAML Request为例,其内容需经过base64解码及inflate解码后才能查看。当身份提供方完成用户身份认证后,会通过HTML form表单和JS代码将SAML Response发送回服务提供方。

在整个交互流程中,浏览器、服务提供方和身份提供方三者协同工作,确保了身份验证和授权数据的交换与处理。使用SAML协议,不仅简化了多步骤的身份验证过程,还提高了系统的安全性和可靠性。

为了更清晰地理解整个交互过程,涉及到以下三个主体:

  • 浏览器:作为SP和IdP之间的通信媒介。
  • SP:负责提供服务,并负责与IdP进行通信以验证用户身份。
  • IdP:负责进行用户身份的认证,并向SP发送用户的身份断言。
  1. 用户尝试登录SP提供的服务。
  2. SP通过浏览器向IdP发送SAML Request。
  3. IdP解析SAML Request并引导用户至认证页面。
  4. 用户在认证页面完成登录操作。
  5. IdP生成SAML Response并通过浏览器向SP的ACS地址返回SAML Response,其中包含用于确定用户身份的SAML Assertion。
  6. SP对SAML Response的内容进行验证。
  7. 用户成功登录SP提供的服务。

在SP与IdP之间的通信中,主要采用HTTP Redirect Binding、HTTP POST Binding以及HTTP Artifact Binding等方式。这些方式在不同阶段会使用不同类型的HTTP与对方进行通信。