我正在努力为使用网关的REST API设计SAML2.0身份验证。 REST用在我的后端和我的应用程序之间。我正在使用Java Servlet过滤器和Spring。使用SAML进行REST API身份验证
我看到两种可能性:
添加SAML令牌到头部各一次。
使用SAML验证一次,然后使用客户端和网关之间的会话或类似(安全对话)。
案例1:这是一个很好的解决方案,因为我们仍然RESTful的,但:
- SAML令牌是相当大的。由于标题大,可能会产生问题。
- 回放令牌不是安全问题的最佳方式。
案例2:它不再是无状态的,我必须管理与客户端的链接。由于我使用网关,底层服务仍然可以是RESTful。
案例2寻找更好的选择,尽管它不遵循其余约束。
有人已经这样做,并给我一些指针(设计或实现)?
有没有比SAML更好的方法?
欢迎任何帮助或建议。
使用第二种方法。无论如何,许多服务提供商都会拒绝重放的令牌。这是为了验证用户或您的客户端软件吗? – tom
这是对用户进行身份验证 – Nereis
如果您打算让SAML交替使用,您也可以使用OAuth2来查看。 –