【问题标题】:Implementing a SAML assertion flow with Spring Oauth2使用 Spring Oauth2 实现 SAML 断言流
【发布时间】:2015-05-12 08:22:15
【问题描述】:

我需要使用 Spring OAuth2 Authorization Server 实现 SAML 断言流。我正在努力解决如何将这两个项目联系起来。 我也尝试将 SAML securityContext 导入到我的 OAuth 项目中,但似乎 SAML 流将始终优先。有没有办法做到这一点,它会查看 grant_type 以确定它是否应该使用 saml 流。

另外,当它处理 saml 断言时,它会与 ResourceOwnerPasswordTokenGranter 绑定,还是我必须使用类似的东西注册一个自定义令牌授予者?

 With OAuth2, we have a way of registering different TokenGranters through something like this:

 List<TokenGranter> tokenGranters = new ArrayList<TokenGranter>();
    tokenGranters.add( endpoints.getTokenGranter());
    tokenGranters.add(new SamlTokenGranter(authenticationManager,tks,cds,endpoints.getOAuth2RequestFactory()));
    CompositeTokenGranter ctg = new CompositeTokenGranter(tokenGranters);
    endpoints.tokenGranter(ctg);

提前感谢您提供的任何帮助

【问题讨论】:

    标签: spring-security-oauth2 spring-saml


    【解决方案1】:

    您可能需要注册一个自定义TokenGranterCompositeTokenGranter(默认值)可以按照您的建议处理多种授权类型(将传入的请求 grant_type 与每个授权者支持的比较)。如果您使用 Spring SAML 作为服务提供者来检查断言,那么我想您还需要在 /token 端点上将其设置为单独的安全过滤器(使用非常具体的请求匹配器,因此它只拦截 SAML 授权)。

    【讨论】:

    • P.S.我很想看到这个工作,所以请坚持下去,也许我们可以通过框架分享结果。
    猜你喜欢
    • 1970-01-01
    • 2016-11-06
    • 2017-07-17
    • 2018-07-23
    • 2016-04-19
    • 2016-01-25
    • 2015-08-19
    • 2015-08-03
    • 2017-03-08
    相关资源
    最近更新 更多