【问题标题】:SAML to Oauth2 using spring security使用 Spring Security 到 Oauth2 的 SAML
【发布时间】:2018-07-23 08:18:00
【问题描述】:

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

现在我需要保护从 JSESSIONID 无法持久化的地方发生的 REST API 调用,因此我想将从联邦获得的 SAML 断言交换到 JWT 以提供回客户端,以便可以使用在身份验证标头中。

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

有人可以解释一下吗?或者,关于如何使用我不知道的 SAML 保护 REST API,也许还有另一种选择。

谢谢!

【问题讨论】:

    标签: java spring-security spring-security-oauth2 spring-security-saml2


    【解决方案1】:

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

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

    【讨论】:

    • 很遗憾,我们的 IDP 不支持 oauth2 授权。而且我无权访问联邦 idp。我唯一的访问权限是接收 SAML 断言的资源提供者,所以我想交换它并将 jwt 返回给客户端
    猜你喜欢
    • 2023-03-11
    • 2014-09-14
    • 2019-09-25
    • 2019-04-06
    • 2017-05-26
    • 2016-02-23
    • 2019-04-29
    • 2015-05-29
    • 2019-01-03
    相关资源
    最近更新 更多