使用SAML进行REST API身份验证

Ner*_*eis 16 java rest session saml saml-2.0

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

我看到两种可能性:

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

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

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

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

案例2:它不再是无状态,我必须与客户端建立链接.由于我使用网关,底层服务仍然可以是RESTful.

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

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

使用SAML有更好的方法吗?

欢迎任何帮助或建议.

Zel*_*ada 12

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

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