0

所以我遇到的问题是,SAML 已经在项目中实施,使用 spring-security-saml 与联邦 IDP 集成。

现在我需要保护从无法保留 JSESSIONID 的地方发生的 REST API 调用,所以我想交换从联邦到 JWT 的 SAML 断言以提供回客户端,以便它可以在身份验证标头中使用.

现在我有点迷茫,我试图使用 spring-security-jwt 中的 JwtAccessTokenConverter 创建一个 JWT 令牌,但不知道如何将它与 SAML 粘合在一起。

有人可以对此有所了解吗?或者,关于如何使用我不知道的 SAML 保护 REST API 可能还有另一种选择。

谢谢!

4

1 回答 1

0

如果您的 IDP 支持 Oauth2 授权类型,您可以从您的 IDP 与 JWT 交换您的 SAML 令牌urn:ietf:params:oauth:grant-type:saml2-bearer

在这种情况下,您需要调用 IDP 的 oauth2 令牌端点并传递 saml-assertion、client-id 和 client-secret 以及 scope=openid 作为输入,并且您的 IDP 应该返回您的 JWT 令牌,您可以使用它来保护您的休息api。此 jwt 令牌还将包含您在 SAML 断言中收到的所有声明。

于 2018-02-13T23:29:44.263 回答