web-services - 是否有一种安全的方法来实现我的客户将嵌入的客户端代码片段

标签 web-services security oauth-2.0 oauth-provider

我公司向其他网站提供服务。我希望能够为他们提供一个简单的代码片段以嵌入他们的站点(如小部件),该代码片段将向我正在实现的服务发送查询、接收响应并在页面中呈现结果。我想尽量减少他们的工作,只给他们尽可能小的片段。这也是为什么我想将其全部保留在客户端。

问题是我想确保调用实际上是由我的客户发出的,而不是由从站点复制代码的任何其他人发出的。我查看了 Web 客户端 oauth2 流程,但它似乎无法验证客户端。它确实说有一种方法可以通过将回调 URL 与客户端在我的服务中注册的 URL 进行比较来验证客户端。

我的问题:

  1. 有没有更好的方法?
  2. oauth2 客户端方法(包括描述的用于验证客户端的方法)是否足够安全?
  3. 如果我按照建议的方式去做,我应该注意什么?

最佳答案

您可以使用 OAuth-2.0 中定义的客户端凭据授予授权。这将允许您为每个单独的客户端分配一个单独的客户端 token 和客户端密码,他们发送 token 以获取访问 token 并使用访问 token 请求数据。

或者您可以完全跳过 OAuth 并使用 SOAP WS-Security将证书分配给每个客户端以授权 Web 服务。

关于web-services - 是否有一种安全的方法来实现我的客户将嵌入的客户端代码片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11014124/

相关文章:

mysql - 单独运行查询时返回结果,将其添加到更大的查询时返回不明确的引用

php - 仅允许来自 Android 应用程序的 PHP 请求

c# - 空合并运算符怎么可能导致错误?

c# - 序列包含多个元素 Microsoft.Owin.Security.AuthenticationManager

java - 使用 java 客户端使用 WCF restful webservice?

web-services - 我应该如何补偿错误的 WSDL?

java - 如何将 @RolesAllowed 与 Keycloak 和 Java 一起使用?

web-services - 无法在 Tomcat Web 服务器(本地)上运行我的 Spring MVC 项目

security - 哈希和登录

android - Moshi 将值反序列化为 null