View a markdown version of this page

在您的浏览器中查看 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. (可选)如果方法列在开发人员工具的网络日志窗格中不可见,请打开任意列标签的上下文菜单(右键单击),然后选择方法以添加该列。

  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. (可选)如果方法列在 Web 开发人员工具的网络日志窗格中不可见,请打开任意列标签的上下文菜单(右键单击),然后选择方法以添加该列。

  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. (可选)如果方法列在 Web 检查器的网络日志窗格中不可见,请打开任意列标签的上下文菜单(右键单击),然后选择方法以添加该列。

  6. 重现问题。

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

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

如何处理 Base64 编码的 SAML 响应

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

安全提示

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

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

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

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

$ echo "base64encodedtext" | base64 --decode
查看解码后的文件中的值

查看解码后的 SAML 响应文件中的值。

  • 验证 saml:NameID 属性的值是否与经过身份验证的用户的用户名匹配。

  • 查看 https://aws.amazon.com/SAML/Attributes/Role 的值。ARN 和 SAML 提供商区分大小写,并且 ARN 必须与您账户中的资源匹配。

  • 查看 https://aws.amazon.com/SAML/Attributes/RoleSessionName 的值。该值必须与声明规则中的值匹配。

  • 如果为电子邮件地址或账户名配置了属性值,请确保这些值正确无误。这些值必须与经过身份验证的用户的电子邮件地址或账户名相对应。

检查是否有错并确认配置

检查这些值是否包含错误,并确认下面的配置是否正确。