驰为hi8_驰为hi8进入pe

2024-12-2907:12:53知识经验9

安全断言标记语言详解

安全断言标记语言(Security Assertion Markup Language,简称SAML)是一种基于XML的开源标准数据格式。它在身份提供者与服务提供者之间交换身份验证和授权数据,尤其是在不同实体间传递身份信息时十分有用。其中,SAML 2.0能够支持跨域的单点登录(SSO),有效减少了向用户分发多个身份验证令牌的管理开销。

SAML中的主体角色

在SAML协议中,主要涉及两个核心实体:

服务提供方(Service Provider,简称SP),通常指代如阿里云控制台、腾讯云控制台、AWS控制台等提供服务的平台。

身份提供方(Identity Provider,简称IdP),例如Authing,其功能是向SP发送身份断言。这种身份断言是一种由IdP签发的XML格式的Token,可以标识某个人的身份。除Authing外,还有Okta、SSOCircle、Auth0等其它身份提供方也可以向SP返回身份断言。

信息交换流程与机制

这两个主体通过用户的浏览器进行信息交换。具体而言,SP可以通过带参数的重定向HTTP响应将信息立即传递给IdP。而当IdP需要用户进行身份验证时,会展示一个表单并附上一段立即提交表单的JS代码,从而让用户迅速将信息发送给SP。

简而言之,当SP需要知道用户的身份时,会向IdP询问。IdP在用户成功登录后,将用户的身份以SAML断言的形式传送给SP。由于SP信任IdP发来的身份断言,因此会赋予该用户在SP的相关权限。

SAML请求与响应过程

当用户的身份无法确定时,SP会通过浏览器向IdP发送SAML Request信息以请求鉴定用户身份。这一请求信息通常以SAMLRequest参数的形式通过query在URL中发送给IdP。

整个过程中,浏览器作为通信的媒介,协助SP和IdP完成信息的交换和验证。

SAML协议的通信方式

在SP与IdP之间的通信中,主要采用三种HTTP绑定方式:HTTP Redirect Binding、HTTP POST Binding以及HTTP Artifact Binding。

HTTP Redirect Binding中,SP通过重定向GET请求发送SAML Request至IdP,而IdP则通过立即提交的Form表单以POST请求的方式返回SAML Response至SP。

HTTP POST Binding则是双方均通过立即提交的Form表单进行请求和响应的发送。

HTTP Artifact Binding则是一种更为安全的通信方式。在此方式中,SP和IdP只通过浏览器交换SAML Request和SAML Response的索引编号。实际的内容则在后端通过请求对方的Artifact Resolution Service接口来获取。

通过这样的机制,可以有效保护SAML Request和SAML Response不被直接在前端。

  • 版权说明:
  • 本文内容由互联网用户自发贡献,本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 295052769@qq.com 举报,一经查实,本站将立刻删除。