19

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

我看到两种可能性:

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

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

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

  • SAML 令牌非常大。由于标头尺寸大,它可能会产生问题。
  • 重放令牌不是出于安全考虑的最佳方式。

案例二:它不再是无状态的,我必须管理与客户端的链接。由于我使用网关,因此底层服务仍然可以是 RESTful。

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

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

有没有更好的方法来使用 SAML?

欢迎任何帮助或建议。

4

1 回答 1

13

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

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

于 2013-10-21T20:22:36.327 回答