建站模板 discuz,wordpress注册未发邮件,我的家乡湛江网站设计,删除中文wordpress一、概念 安全断言标记语言#xff08;SAML#xff09;是一种开放标准#xff0c;用于在各方之间#xff08;特别是身份提供商和服务提供商之间#xff09;交换身份验证和授权数据。SAML 是一种基于XML的安全断言标记语言#xff08;服务提供商用来做出访问控制决策的语句…一、概念 安全断言标记语言SAML是一种开放标准用于在各方之间特别是身份提供商和服务提供商之间交换身份验证和授权数据。SAML 是一种基于XML的安全断言标记语言服务提供商用来做出访问控制决策的语句。SAML 也是 一组基于 XML 的协议消息一组协议消息绑定一组配置文件利用以上所有内容 SAML 解决的一个重要用例是Web 浏览器 单点登录(SSO)。单点登录在安全域内相对容易实现例如使用cookie 但跨安全域扩展 SSO 则更加困难并导致不可互操作的专有技术的激增。SAML Web 浏览器 SSO 配置文件经过指定和标准化以促进互操作性。 SAML 规范定义了三种角色主体通常是用户、身份提供者(IdP) 和服务提供者(SP)。
二、原理 1. 请求 SP 处的目标资源仅限 SAML 2.0
主体通过 HTTP 用户代理向服务提供者请求目标资源
https://sp.example.com/myresource2. 重定向到 IdP 处的 SSO 服务仅限 SAML 2.0
服务提供商确定用户的首选身份提供商通过未指定的方式并将用户代理重定向到身份提供商处的 SSO 服务
https://idp.example.org/SAML2/SSO/Redirect?SAMLRequestrequest参数的值SAMLRequest由上面的占位符表示request是压缩元素的Base64编码。 samlp:AuthnRequest
3. 在 IdP 处请求 SSO 服务仅限 SAML 2.0
用户代理通过步骤 2 中的 URL 向 SSO 服务发出 GET 请求。SSO 服务处理该请求AuthnRequest通过 URL 查询参数发送SAMLRequest并执行安全检查。如果用户没有有效的安全上下文身份提供者将识别该用户详细信息省略。
4. 使用 XHTML 表单进行响应
SSO 服务验证请求并使用包含 XHTML 表单的文档进行响应 form methodpost actionhttps://sp.example.com/SAML2/SSO/POST ...input typehidden nameSAMLResponse valueresponse /...input typesubmit valueSubmit //form5. 在SP处请求断言消费者服务
用户代理向服务提供者处的断言消费者服务发出 POST 请求。参数值SAMLResponse取自步骤 4 中的 XHTML 表单。
6.重定向到目标资源
断言消费者服务处理响应在服务提供者处创建安全上下文并将用户代理重定向到目标资源。
7、再次向SP请求目标资源
用户代理再次向服务提供者请求目标资源
https://sp.example.com/myresource8. 响应请求的资源
由于存在安全上下文服务提供者将资源返回给用户代理。