我有一个设置为服务提供者的 Spring Boot 应用程序。我的最终目标是能够使用 SAML 服务调用 AWS STS Assume Role 以代表用户生成 AWS 临时凭证,其中 SAML 响应用于对我的应用程序的用户进行初始身份验证。
我发现了另一个问题。有了这个答案,我只能得到断言,而不是整个响应。根据我的测试,上面链接的 AWS API 调用需要整个响应,而不仅仅是断言部分。
我使用这个Chrome 扩展程序来查看 SAML 响应。当我包括所有内容时(下面的大纲)
<samlp:Response>
...
<saml:Assertion>
...
</saml:Assertion>
</samlp:Response>
使用 SAML 的 AWS STS 代入角色有效。另一个相关问题的答案只为我提供了
<saml:Assertion>...</saml:Assertion>
块并且 AWS STS 代入 SAML 角色失败。
所以我的问题是如何将整个 SAML 响应 XML 对象返回到我的 Spring Boot 应用程序的控制器中?