使用 SAML 进行 REST API 身份验证
我正在努力使用网关为 REST API 设计 SAML2.0 身份验证。REST 在我的后端和应用程序之间使用。我使用的是Java Servlet过滤器和Spring。
我看到两种可能性:
每次都将 SAML 令牌添加到标头中。
使用 SAML 进行身份验证一次,然后在客户端和网关之间使用会话或类似(安全对话)进行身份验证。
案例1:这是一个很好的解决方案,因为我们仍然很RESTful,但是:
- SAML令牌非常大。由于标头大小较大,可能会产生问题。
- 重放代币并不是安全问题的最佳方式。
案例2:它不再是无状态的,我必须管理与客户的链接。由于我使用网关,因此底层服务仍然可以是RESTful。
案例 2 寻找更好的选择,尽管它不遵循其余约束。
有人已经这样做了,并给我一些指针(用于设计或实现)吗?
有没有更好的方法来做到这一点与SAML?
欢迎任何帮助或建议。