如何为网站设计安全的 API 访问?
创新互联公司长期为超过千家客户提供的网站建设服务,团队从业经验10年,关注不同地域、不同群体,并针对不同对象提供差异化的产品和服务;打造开放共赢平台,与合作伙伴共同营造健康的互联网生态环境。为会宁企业提供专业的做网站、成都做网站,会宁网站改版等技术服务。拥有10年丰富建站经验和众多成功案例,为您定制开发。
我们在设计一个网站或平台的时候,经常需要向用户开放 API 访问。这样用户就可以程序化地调用一些功能,举几个例子:
当我们向用户开放 API 访问时,我们需要确保每次 API 调用都经过鉴权。这意味着我们需要确认用户是他们所声称的身份。
我们一般使用两种常见的方法来进行鉴权:
下图说明了它们的工作原理。
用户在客户端输入密码,然后客户端将密码发送到鉴权服务器。
鉴权服务器验证密码并生成一个有有效期的令牌。
现在,客户端可以发送请求,使用 HTTP 头中带有的令牌访问服务器资源。这种访问在令牌过期前一直有效。
这种机制通过使用哈希函数(SHA256 或 MD5)生成消息验证码(签名)。
服务器生成两个密钥,一个是公共 APP ID(公钥),另一个是 API Key(私钥)。
现在我们在客户端生成一个 HMAC 签名(hmac A)。该签名是根据图中列出的一组字段生成的。注意这里会加入请求的时间戳,这样一个 HMAC 签名是有有效期的,不会一直有效。
客户端发送请求来访问服务器资源,HTTP 头中包含 hmac A。
服务器收到包含请求数据和鉴权标头的请求。它从请求中提取必要的字段,并使用存储在服务器端的 API Key 生成签名(hmac B)。
服务器会比较 hmac A(在客户端生成)和 hmac B(在服务器端生成)。如果两者匹配,请求的资源将返回给客户端。
分享标题:如何设计安全的API调用?
网页URL:http://www.shufengxianlan.com/qtweb/news32/408982.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联