使用SAML进行REST API身份验证

时间:2013-10-18 09:27:25

标签: java rest session saml saml-2.0

我正在努力使用网关为REST API设计SAML2.0身份验证。 REST在我的后端和我的应用程序之间使用。我正在使用Java Servlet过滤器和Spring。

我看到两种可能性:

  1. 每次都将SAML令牌添加到标题中。

  2. 使用SAML进行一次身份验证,然后在客户端和网关之间使用会话或类似的(安全对话)。

  3. 案例1:这是一个很好的解决方案,因为我们仍然是RESTful但是:

    • SAML令牌非常大。由于标题大小较大,可能会产生问题。
    • 重放令牌不是解决安全问题的最佳方式。

    案例2:这不再是无国籍人,我必须管理与客户的链接。由于我使用网关,底层服务仍然可以是RESTful。

    案例2寻找更好的选择,尽管它不遵循其余约束。

    是否有人已经这样做并给我一些指示(设计或实施)?

    使用SAML有更好的方法吗?

    欢迎任何帮助或建议。

1 个答案:

答案 0 :(得分:11)

它仍然是草稿,但是:OAuth2 SAML承载配置文件可能是一种可能的解决方案。 http://tools.ietf.org/html/draft-ietf-oauth-saml2-bearer-17

使用SAML2向OAuth2提供商进行身份验证,然后使用OAuth2令牌调用您的服务。