Bil*_*mus 5 security authentication proxy web-services inject
我们有一个供应商提供的解决方案,需要用户名和密码来利用其作为Web服务公开的API。它们将包含在调用的实际xml中。我们显然不喜欢那样。
是否有人知道我们可以使用基于令牌的安全性对呼叫系统进行身份验证的任何产品,系统,然后将其注入用户名密码并在产品可访问的安全区域(而不是外部呼叫者)中转发请求。当然返回响应。
身份验证/代理服务有一个名称 - 安全令牌服务 (STS)。oAuth 令牌交换工作草案对 STS 及其目的进行了很好的总结:
安全令牌服务 (STS) 是一种能够验证提供给它的安全令牌并发出新的安全令牌作为响应的服务,这使客户端能够获取异构环境或跨安全域中的资源的适当访问凭据。
Web 服务客户端使用 WS-Trust [WS-Trust] 作为与 STS 交互以进行令牌交换的协议。虽然 WS-Trust 使用 XML 和 SOAP,但现代 Web 开发的趋势已转向 RESTful 模式和 JSON。OAuth 2.0 授权框架 [RFC6749] 和 OAuth 2.0 承载令牌 [RFC6750] 已成为授权第三方应用程序访问 HTTP 和 RESTful 资源的流行标准。
传统的 OAuth 2.0 交互涉及用资源所有者授权的某种表示形式交换访问令牌,这在实践中已被证明是一种非常有用的模式。然而,它的输入和输出有点过于受限,无法完全容纳安全令牌交换框架。
大多数 STS(包括 oAuth 令牌交换草案指定的类型)不处理异构令牌,因为您的用例需要超越 OAuth 到 SAML 的范围,反之亦然。您的用例的解决方案很可能涉及自定义编码的 STS。我们已经为使用各种产品/堆栈/平台/等的客户实现了将 oAuth/SAML 转换为任何内容的 STS(例如,具有像您这样的自定义凭证标头的 SOAP)。
我们经常使用 Salesforce 作为平台,它提供了许多有助于此用例的管道。公平地说,类似的管道在很多平台和堆栈中都可用 - 从三大平台(AWS/GCP/Azure)到 Java/Python/Ruby/Node/Go,并具有适当的库来识别和访问管理产品(例如 Keycloak)。
| 归档时间: |
|
| 查看次数: |
108 次 |
| 最近记录: |