我公司向其他网站提供服务。我希望能够为他们提供一个简单的代码片段以嵌入他们的站点(如小部件),该代码片段将向我正在实现的服务发送查询、接收响应并在页面中呈现结果。我想尽量减少他们的工作,只给他们尽可能小的片段。这也是为什么我想将其全部保留在客户端。
问题是我想确保调用实际上是由我的客户发出的,而不是由从站点复制代码的任何其他人发出的。我查看了 Web 客户端 oauth2 流程,但它似乎无法验证客户端。它确实说有一种方法可以通过将回调 URL 与客户端在我的服务中注册的 URL 进行比较来验证客户端。
我的问题:
- 有没有更好的方法?
- oauth2 客户端方法(包括描述的用于验证客户端的方法)是否足够安全?
- 如果我按照建议的方式去做,我应该注意什么?
最佳答案
您可以使用 OAuth-2.0 中定义的客户端凭据授予授权。这将允许您为每个单独的客户端分配一个单独的客户端 token 和客户端密码,他们发送 token 以获取访问 token 并使用访问 token 请求数据。
或者您可以完全跳过 OAuth 并使用 SOAP WS-Security将证书分配给每个客户端以授权 Web 服务。
关于web-services - 是否有一种安全的方法来实现我的客户将嵌入的客户端代码片段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11014124/