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