SAML响应解码器
指导
SAML响应解码器
粘贴一个 base64 编码的 SAML 响应或断言,立即查看解码后的 XML,并获得关键字段的摘要。支持 URL 编码的负载和 DEFLATE 压缩的字符串(SAML 的 HTTP-Redirect 绑定中使用),所有操作都在您的浏览器中完成——不会上传任何内容。
如何使用
- 从您的身份提供者(IdP)捕获 SAML 响应——通常是一个隐藏表单字段,名称为
SAMLResponse在 ACS POST 中,或SAMLRequestHTTP-Redirect 的查询参数。 - 将原始值粘贴到输入框中。URL 编码、DEFLATE 压缩以及 zlib/gzip 包装器将自动检测。
- 查看摘要表以获取概览信息:发行者、名称 ID、NotBefore / NotOnOrAfter、受众、目的地、会话索引和属性声明。
- 使用格式化的 XML 视图(带有复制和下载按钮)进行深入检查,或与同事共享。
特征
- 自动检测编码 – 支持 base64、URL 编码的 base64 以及 HTTP-Redirect 绑定中的 DEFLATE 压缩负载,无需额外点击。
- 摘要亮点 – 展示 NameID、受众、发行者、状态、目的地、NotBefore / NotOnOrAfter 和会话索引,以便您能快速发现集成问题。
- 有效性检查 – 将断言的 NotOnOrAfter 与当前时间进行比较,并标记已过期的令牌。
- 格式化的 XML – 有缩进、语法高亮的输出,并带有复制和下载功能。
- 隐私优先 – 所有解码操作都在您的浏览器中完成。SAML 响应永远不会触达我们的服务器。
常问问题
-
什么是 SAML 以及它是如何工作的?
SAML(安全断言标记语言)是一种基于 XML 的开放标准,用于在身份提供者(IdP)和服务提供者(SP)之间交换身份验证和授权数据。IdP 对用户进行身份验证,然后向 SP 发送一个签名的 XML 断言,SP 信任该断言以授予访问权限——从而实现不同独立 Web 应用之间的单点登录。
-
SAML 响应和 SAML 断言有什么区别?
SAML 响应是 IdP 发送到 SP 的外层封装,包含协议级别的元数据,如状态、目的地和 InResponseTo。SAML 断言是该响应内部的负载——它承载实际的身份声明:NameID、AuthnStatement、Conditions 和 AttributeStatement。一个响应可以包含一个或多个断言。
-
SAML 断言中的 NotBefore 和 NotOnOrAfter 是什么意思?
NotBefore 和 NotOnOrAfter 是位于 Conditions 元素中的时间窗口属性,用于定义断言何时有效。SP 必须拒绝在 NotBefore 之前或在 NotOnOrAfter 或之后提出的断言。该窗口通常只有几分钟宽,以防止重放攻击,这也是 IdP 和 SP 之间时钟偏差导致 SAML 失败的常见原因。
-
什么是 AudienceRestriction 以及它为何重要?
AudienceRestriction 指定了断言的预期服务提供者(SP 的实体 ID)。SP 必须拒绝那些 Audience 不匹配其自身配置实体 ID 的断言。这种绑定防止了为一个应用程序生成的断言被重放至另一个应用程序——即使两个应用程序都信任同一个 IdP。
-
HTTP-Redirect 和 HTTP-POST 绑定有什么区别?
HTTP-Redirect 将 SAML 消息放入 URL 查询字符串中,因此必须进行 DEFLATE 压缩和 base64 编码才能适应。它通常用于从 SP 到 IdP 的 AuthnRequests。HTTP-POST 将消息作为隐藏表单字段提交,没有大小限制,也不需要压缩——这是 IdP 到 SP 的 SAML 响应所使用的绑定方式。
