我有一个简单的 Web 服务,它允许第三方开发人员访问 API。API 主要遵循 REST 原则。
我对通过要求开发人员使用客户端证书来使 API 更安全的解决方案感兴趣。你们中是否有任何开源解决方案或其他实施建议可以帮助基于 REST 的 API 使用用户级证书进行身份验证?
我有一个简单的 Web 服务,它允许第三方开发人员访问 API。API 主要遵循 REST 原则。
我对通过要求开发人员使用客户端证书来使 API 更安全的解决方案感兴趣。你们中是否有任何开源解决方案或其他实施建议可以帮助基于 REST 的 API 使用用户级证书进行身份验证?
我的一般建议是将您的 API 与您的身份验证例程分开。您的 Web 服务器应该为您处理交互。
您的客户端证书方案的解决方案取决于您的环境。您尚未在此处发布该内容,但似乎有针对性的 Google 搜索应该让您了解什么是必要的。
由于您正在向其他方提供 API,因此您确实需要考虑对这些开发人员的环境支持。您在 REST 基础上做得很好,并且大多数编程环境都将与这些环境很好地互操作。
客户端证书支持在不同环境、平台等方面的支持效率可能会有所不同。此外,当您需要证书时,您现在正在影响客户端实施。这几乎肯定会让您处于要求您支持您的客户并让他们使用您的 API 运行的位置。这意味着熟悉其他语言、Web 服务器、框架等。
Python HTTP 库支持客户端证书,位于其之上的 urllib 库也是如此。