我们建立了一个基于Python的REST API,打算把它提供给其他开发者使用。请问有没有什么Python库可以帮助管理用户身份验证,并记录每个客户端的API调用情况呢?
理想情况下,你应该使用公钥加密,给开发者提供一个API密钥和一个秘密密钥。如果这个服务通过HTTPS只对少数用户开放,你可能会觉得只发一个简单的API密钥就行,但这样的话,你就注定要一直保持一个小而封闭、不安全的服务。
至于如何管理API调用,因为你已经开发了RESTful接口,我建议你开始给这些函数或方法加一些装饰,提取出服务的使用者,并在MongoDB中记录API调用——这非常简单,而且非常适合这个需求。这样做还可以让你在应用层面开始限制用户的连接,随着时间的推移,你可以开发一些低级的解决方案来管理服务连接,比如使用iptables。
iptables