ajax – REST Web服务和API密钥

前端之家收集整理的这篇文章主要介绍了ajax – REST Web服务和API密钥前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个Web服务,我正在向用户提供进入我的应用程序数据库获取一些信息.用户必须注册API密钥并在提出请求时提供.一切正常,但我如何检查注册密钥的用户是否实际提出请求而不是他可能已经提供密钥的其他人?

在过去的两天里,我一直在考虑提出一个解决方案,但到目前为止还没有.

您需要使用已签名的请求.基本上它的工作原理如下:

>您为用户提供API密钥和“秘密”(随机字符串),只有您和客户知道.
>每当他们提出请求时,他们都会向其添加“签名”参数.这个签名基本上是请求参数的散列,API密钥的其他参数(见下文)的秘密.
>既然你也知道这个秘密,你可以验证签名是否正确.

为了避免重放攻击,您还可以在混合中添加随机数和时间戳. nonce只是一个必须在每个请求上由客户端递增的数字.当您收到请求时,检查您之前是否已收到此nonce / timestamp.如果您这样做,则拒绝该请求(因为它很可能是重播攻击).如果没有,则将nonce / timestamp存储在数据库中,以便稍后查找.

这或多或少是在OAuth中签署请求的方式.请查看链接中的示例.

原文链接:https://www.f2er.com/ajax/159943.html

猜你在找的Ajax相关文章