我正在努力为使用网关的REST API设计SAML2.0身份验证。在我的后端和应用程序之间使用REST。我正在使用Java Servlet过滤器和Spring。
我看到两种可能性:
每次将SAML令牌添加到标头中。
使用SAML进行一次身份验证,然后使用客户端与网关之间的会话或类似(安全对话)进行身份验证。
情况1: 这是一个很好的解决方案,因为我们仍然是RESTful,但是:
情况2: 不再是无状态的了,我必须管理与客户端的链接。由于我使用网关,因此基础服务仍然可以是RESTful的。
案例2寻找更好的选择,尽管它没有遵循其余约束。
是否已经有人做过并给我一些指示(用于设计或实现)?
有没有更好的方法可以使用SAML?
欢迎任何帮助或建议。
它仍然是草案,但是:OAuth2 SAML承载配置文件可能是一种解决方案。 http://tools.ietf.org/html/draft-ietf- oauth-saml2-bearer-17
使用SAML2对OAuth2提供程序进行身份验证,然后使用OAuth2令牌调用您的服务。