我想用一个简单的服务来推广自己的REST API。我想有三个基本计划,这些计划在可用的req / sec方面会有所不同。
是否有一种简单的方法可以防止按键切换?假设有人购买了“企业”api-key并将其发送给其他人?现在,其他人可以访问“企业”级别的功能而无需实际支付此服务。
当然我会实施某种限速但这不是重点。我只想让实际购买API密钥的人可以使用API。
提前致谢!
答案 0 :(得分:2)
仅使用API密钥无法执行此操作。您可以尝试执行某些操作,例如仅接受来自某些IP地址的某些API密钥,但是存在一系列问题。可靠地执行此操作的唯一方法是强制您的客户端进行身份验证。
您可以使用用户名/密码执行此操作,他们需要将这些信息发送给您进行验证,然后您可以检查该用户名是否可以访问计划/服务。您还可以使用经过相互身份验证的SSL执行此操作,您可以向客户端发出自签名客户端身份证书,并在他们连接到您的服务时使用它们进行身份验证,然后您可以执行查找以查看该客户端是否可以访问计划/服务。请注意,在任何一种情况下都需要实现SSL,因为您不希望用户名/密码通过标准HTTP。