SAML 解码器
解码 Base64 编码的 SAML 断言 XML。所有处理在浏览器中完成。
解码后的 XML
解析的SAML数据
颁发者
—
名称ID
—
签发时间
—
受众
—
生效时间
—
失效时间
—
AuthnContextClassRef
—
属性
未找到属性
| 属性名称 | 值 |
|---|
如何使用 SAML 解码器
粘贴断言
粘贴 Base64 编码的 SAML 断言字符串。
解码
工具将自动解码 Base64 并解压缩(如需要)。
查看信息
查看 XML 格式的 SAML 断言和提取的关键信息。
什么是SAML?
安全断言标记语言(SAML)是一种基于XML的开放标准,用于在各方之间交换身份验证和授权数据,特别是在身份提供商(IdP)和服务提供商(SP)之间。SAML断言通常经过Base64编码,在通过HTTP重定向绑定时可能会进行deflate压缩。
SSO 身份验证
SAML 实现单点登录,用户只需认证一次即可访问多个服务
基于 XML 的断言
SAML 使用 XML 断言在各方之间传递身份验证和授权声明
安全绑定
SAML 支持 HTTP Redirect、POST 和 Artifact 绑定,实现安全令牌交换
常见问题
可以从浏览器的网络请求中获取 SAML Response 参数,通常在 POST 请求体中。
部分 SAML 实现会对断言进行 deflate 压缩后再 Base64 编码。本工具会自动检测并处理。
解码只是查看断言内容,不会修改。断言的安全性由数字签名保证。
请求是服务提供方(SP)发送给身份提供方(IdP)、要求其认证用户的 samlp:AuthnRequest;响应则是返回的 samlp:Response,携带包含认证语句和属性的 saml:Assertion。两者都以 URL 编码(Redirect 绑定)或 HTML 表单 POST(POST 绑定)的形式传输。本工具可解码任意方向的数据。
RelayState 是 SP 附加在请求中、IdP 必须随响应原样返回的不透明字符串——通常是登录后要重定向到的 URL。SAML 绑定规范建议将其保持在 80 字节以内,且它对 IdP 没有任何含义。当 SSO 登录后跳转到了错误的页面时,RelayState 丢失或损坏是首先要排查的原因。
在 HTTP-Redirect 绑定中,XML 先经过 raw-Deflate 压缩,再进行 Base64 编码,最后 URL 编码——这是规范规定的三个步骤。将 URL 编码后的值交给本工具:如果解压后得到以 < 开头的标记,说明数据经过压缩;如果直接以 <?xml 或 <saml 开头,则未压缩。POST 绑定的消息只做 Base64,不经过 Deflate。
时钟偏差——当 SP 与 IdP 的时钟相差超过允许的偏移量时,签名验证会失败;受众不匹配——断言中的 audienceRestriction 不包含 SP 的 entity ID;以及响应过期(NotOnOrAfter)。同样常见的还有:RelayState 丢失,以及 SP 要求签名但断言未签名。本工具显示的解码字段可让您直接逐一核查这些问题。
可以——解码并不等于验证。断言的 XML 任何人都能读取;其中的签名保障的是完整性,而非机密性。没有 IdP 的公钥证书,您无法证明断言是真实且未被篡改的。请谨慎对待解码后的内容:断言中往往包含电子邮件地址、用户组和权限信息。
相关工具
权威参考资料
本工具所依据的一手资料 - 官方标准与规范,而非二手摘要。