0

我有一个简单的 web 服务应用程序,它需要对允许访问它的应用程序进行某种控制。

我不需要 oauth 或类似的东西,我想要的只是生成某种需要随请求一起发送的密钥。我可以手动生成这些密钥,不需要自动化。但是如果它被滥用,我必须能够关闭对特定密钥的访问。

我对如何做到这一点有一些想法,但想向您请教一些最佳实践技巧。

4

1 回答 1

0

您可能会受到 Tastypie 生成 API 密钥的方法的启发。请参阅此处的相关代码。

在您的特定情况下,您似乎将拥有许多同时有效的 API 密钥。所以你应该替换这个:

user = models.OneToOneField(User, related_name='api_key')

和:

user = models.ForeignKey(User, related_name='api_keys')

您应该添加一个类似于以下内容的字段:

is_valid = models.BooleanField(default=True)

这将表示与 a 关联的某个键user是否有效。

于 2012-06-13T11:25:47.000 回答