我有一个带有 SOAP 绑定和 SAML 令牌的 Web 服务被传递给它。是否也有任何标准做法将 SAML 应用于 HTTP 绑定?你能提出任何替代方案吗?
(我需要 HTTP 绑定,因为我想使用 KVP 请求和 image/jpg mime 类型)
我有一个带有 SOAP 绑定和 SAML 令牌的 Web 服务被传递给它。是否也有任何标准做法将 SAML 应用于 HTTP 绑定?你能提出任何替代方案吗?
(我需要 HTTP 绑定,因为我想使用 KVP 请求和 image/jpg mime 类型)
如果您询问如何使用 SAML 令牌对 http 请求进行身份验证,一般的答案是您不需要。您使用 SAML 令牌对服务进行身份验证,然后为 http 请求分发 cookie。至少,这是为最终用户完成的。
如果您使用 API(例如 REST API)做某事,那么您会做类似但没有 cookie 的事情。您进行 API 调用以进行身份验证,将有效的 SAML 令牌交给它,这将为您提供一个密钥,然后您使用这些密钥对整个请求进行签名 (HMAC)。这可以在授权标头中完成(这是正确的方法)或作为参数附加。服务器检查消息上签名/HMAC 的有效性,如果有效,则执行 API 调用。
这是对技术的长期讨论。这是有关这样做的 MSDN 文章。虽然它适用于 C#,而不是 java,但安全注意事项部分是直接适用的,并且是我在一些简短的谷歌搜索中发现的最好的部分。