如何在浏览器中查看 SAML 响应以排查问题 - Amazon Identity and Access Management
Amazon Web Services 文档中描述的 Amazon Web Services 服务或功能可能因区域而异。要查看适用于中国区域的差异,请参阅 中国的 Amazon Web Services 服务入门 (PDF)

如何在浏览器中查看 SAML 响应以排查问题

以下过程介绍了在排除 SAML 2.0 相关问题时,如何在浏览器中查看服务提供商的 SAML 响应。

对于所有浏览器,请转到您可以重现问题的页面。然后,针对相应的浏览器执行以下步骤:

Google Chrome

在 Chrome 中查看 SAML 响应

这些步骤已经过 Google Chrome 版本 106.0.5249.103(官方版本)(arm64)的测试。如果您使用其他版本,则可能需要相应地调整步骤。

  1. F12 以启动 Developer Tools(开发人员工具)控制台。

  2. 选择 Network(网络)选项卡,然后选择 Developer Tools(开发人员工具)窗口左上角的 Preserve log(保留日志)。

  3. 重现问题。

  4. (可选)如果 Method(方法)列在 Developer Tools(开发人员工具)的 Network(网络)日志窗格中不可见,右击任何列标签并选择 Method(方法)以添加列。

  5. Developer Tools(开发人员工具)的 Network(网络)日志窗格中查找 SAML Post。选择该行,然后查看顶部的 Payload(有效负载)选项卡。查找包含编码请求的 SAMLResponse 元素。关联值为 Base64 编码的响应。

Mozilla Firefox

在 Firefox 中查看 SAML 响应

此过程已在 Mozilla Firefox 版本 105.0.3(64 位)上进行了测试。如果您使用其他版本,则可能需要相应地调整步骤。

  1. F12 以启动 Web Developer Tools(Web 开发人员工具)控制台。

  2. 选择 Network 选项卡。

  3. Web Developer Tools(Web 开发人员工具)窗口的右上角,选择选项(小齿轮图标)。选择 Persist logs(保留日志)。

  4. 重现问题。

  5. (可选)如果 Method(方法)列在 Web 开发人员工具Network(网络)日志窗格中不可见,右击任何列标签并选择 Method(方法)以添加列。

  6. 在表中查找 POST SAML。选择该行,然后查看 Request(请求)选项卡并找到 SAMLResponse 元素。关联值为 Base64 编码的响应。

Apple Safari

在 Safari 中查看 SAML 响应

这些步骤已经过 Apple Safari 版本 16.0(17614.1.25.9.10、17614)的测试。如果您使用其他版本,则可能需要相应地调整步骤。

  1. 在 Safari 中启用 Web Inspector。打开 Preferences 窗口,选择 Advanced 选项卡,然后选择 Show Develop menu in the menu bar

  2. 现在您可以打开 Web Inspector。在菜单栏中选择 Develop(开发),然后选择 Show Web Inspector(显示 Web 检查器)。

  3. 选择 Network 选项卡。

  4. Web Inspector(Web 检查器)窗口的左上角,选择选项(包含三条横线的小圆圈图标)。选择 Preserve Log(保留日志)。

  5. (可选)如果 Method(方法)列在 Web Inspector(Web 检查器)的Network(网络)日志窗格中不可见,右击任何列标签并选择 Method(方法)以添加列。

  6. 重现问题。

  7. 在表中查找 POST SAML。选择该行,然后查看 Headers(标头)选项卡。

  8. 查找包含编码请求的 SAMLResponse 元素。向下滚动,查找名为 Request DataSAMLResponse。关联值为 Base64 编码的响应。

如何处理 Base64 编码的 SAML 响应

在浏览器中找到 Base64 编码的 SAML 响应元素之后,复制这些元素并使用您偏好的 Base-64 解码工具来提取带有 XML 标签的响应。

安全提示

由于您查看的 SAML 响应数据可能包含敏感安全数据,我们建议您不要使用在线 base64 解码程序。而是使用安装在本地计算机上、不会通过网络发送 SAML 数据的工具。

适用于 Windows 系统的内置选项 (PowerShell):

PS C:\> [System.Text.Encoding]::UTF8.GetString([System.Convert]::FromBase64String("base64encodedtext"))

适用于 MacOS 和 Linux 系统的内置选项:

$ echo "base64encodedtext" | base64 --decode