当前位置:首页 > 科技  > 软件

如何设计安全的 API 调用?

来源: 责编: 时间:2023-11-30 17:31:45 381观看
导读如何为网站设计安全的 API 访问?我们在设计一个网站或平台的时候,经常需要向用户开放 API 访问。这样用户就可以程序化地调用一些功能,举几个例子:交易所开放 API 让用户可以进行低时延的程序化交易,微信公众号平台开放 AP

如何为网站设计安全的 API 访问?hoa28资讯网——每日最新资讯28at.com

我们在设计一个网站或平台的时候,经常需要向用户开放 API 访问。这样用户就可以程序化地调用一些功能,举几个例子:hoa28资讯网——每日最新资讯28at.com

  1. 交易所开放 API 让用户可以进行低时延的程序化交易,
  2. 微信公众号平台开放 API 让三方工具进行运营管理工作,
  3. Stripe 开放 API 让商家和其他平台能很好地集成支付功能。

当我们向用户开放 API 访问时,我们需要确保每次 API 调用都经过鉴权。这意味着我们需要确认用户是他们所声称的身份。hoa28资讯网——每日最新资讯28at.com

我们一般使用两种常见的方法来进行鉴权:hoa28资讯网——每日最新资讯28at.com

  1. 基于令牌的身份验证
  2. HMAC(基于哈希的消息验证码)验证

下图说明了它们的工作原理。hoa28资讯网——每日最新资讯28at.com

图片hoa28资讯网——每日最新资讯28at.com

01 基于令牌

第 1 步

用户在客户端输入密码,然后客户端将密码发送到鉴权服务器。hoa28资讯网——每日最新资讯28at.com

第 2 步

鉴权服务器验证密码并生成一个有有效期的令牌。hoa28资讯网——每日最新资讯28at.com

第 3 步和第 4 步

现在,客户端可以发送请求,使用 HTTP 头中带有的令牌访问服务器资源。这种访问在令牌过期前一直有效。hoa28资讯网——每日最新资讯28at.com

02 基于 HMAC

这种机制通过使用哈希函数(SHA256 或 MD5)生成消息验证码(签名)。hoa28资讯网——每日最新资讯28at.com

第 1 步和第 2 步

服务器生成两个密钥,一个是公共 APP ID(公钥),另一个是 API Key(私钥)。hoa28资讯网——每日最新资讯28at.com

第 3 步

现在我们在客户端生成一个 HMAC 签名(hmac A)。该签名是根据图中列出的一组字段生成的。注意这里会加入请求的时间戳,这样一个 HMAC 签名是有有效期的,不会一直有效。hoa28资讯网——每日最新资讯28at.com

第 4 步

客户端发送请求来访问服务器资源,HTTP 头中包含 hmac A。hoa28资讯网——每日最新资讯28at.com

第 5 步

服务器收到包含请求数据和鉴权标头的请求。它从请求中提取必要的字段,并使用存储在服务器端的 API Key 生成签名(hmac B)。hoa28资讯网——每日最新资讯28at.com

第 6 步和第 7 步

服务器会比较 hmac A(在客户端生成)和 hmac B(在服务器端生成)。如果两者匹配,请求的资源将返回给客户端。hoa28资讯网——每日最新资讯28at.com

本文链接:http://www.28at.com/showinfo-26-35585-0.html如何设计安全的 API 调用?

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 埋点数据可视化的探索与实践

下一篇: 知道这些正则表达式,能让你少写1000行代码

标签:
  • 热门焦点
  • 8月总票房已突破10亿!《封神》第一:口碑已经成了

    8月5日消息,据灯塔专业版数据,截至8月5日9时35分,8月总票房(含预售)已突破10亿。其中,《封神》以大比分的优势领先。根据官方消息,目前该片总票房已经超过14.
  • Raft算法:保障分布式系统共识的稳健之道

    1. 什么是Raft算法?Raft 是英文”Reliable、Replicated、Redundant、And Fault-Tolerant”(“可靠、可复制、可冗余、可容错”)的首字母缩写。Raft算法是一种用于在分布式系统
  • 三言两语说透设计模式的艺术-单例模式

    写在前面单例模式是一种常用的软件设计模式,它所创建的对象只有一个实例,且该实例易于被外界访问。单例对象由于只有一个实例,所以它可以方便地被系统中的其他对象共享,从而减少
  • 为什么你不应该使用Div作为可点击元素

    按钮是为任何网络应用程序提供交互性的最常见方式。但我们经常倾向于使用其他HTML元素,如 div span 等作为 clickable 元素。但通过这样做,我们错过了许多内置浏览器的功能。
  • 梁柱接棒两年,腾讯音乐闯出新路子

    文丨田静 出品丨牛刀财经(niudaocaijing)7月5日,企鹅FM发布官方公告称由于业务调整,将于9月6日正式停止运营,这意味着腾讯音乐长音频业务走向消亡。腾讯在长音频领域还在摸索。为
  • 年轻人的“职场羞耻感”,无处不在

    作者:冯晓亭 陶 淘 李 欣 张 琳 马舒叶来源:燃次元“人在职场,应该选择什么样的着装?”近日,在网络上,一个与着装相关的帖子引发关注,在该帖子里,一位在高级写字楼亚洲金
  • 三星折叠屏手机去年销售近1000万台 今年目标定为1500万

    7月29日消息,三星率先发力可折叠手机市场,在全球市场已经取得了非常亮眼的成绩,接下来会进一步巩固和扩大这一优势。三星在推出Galaxy Z Flip5和Galax
  • iQOO 11S新品发布会

    iQOO将在7月4日19:00举行新品发布会,推出杭州亚运会电竞赛事官方用机iQOO 11S。
  • iQOO Neo8 Pro真机谍照曝光:天玑9200+和V1+旗舰双芯加持

    去年10月,iQOO推出了iQOO Neo7系列机型,不仅搭载了天玑9000+,而且是同价位唯一一款天玑9000+直屏旗舰,一经上市便受到了用户的广泛关注。在时隔半年后,
Top