加入收藏 | 设为首页 | 会员中心 | 我要投稿 应用网_丽江站长网 (http://www.0888zz.com/)- 科技、建站、数据工具、云上网络、机器学习!
当前位置: 首页 > 服务器 > 安全 > 正文

浅显易懂讲解怎样用JWT来加固API

发布时间:2022-05-24 09:58:36 所属栏目:安全 来源:互联网
导读:您一定听说过JSON Web Token(JWT)吧? 它是当前用来保护API的先进技术之一。与大多数安全概念与技术一样,我们在准备使用它之前,了解其工作原理是非常必要且重要的。当然,过于专业和技术性的JWT解释可能会让您觉得费解,甚至感到头痛。那么让我试着用一种比
         您一定听说过JSON Web Token(JWT)吧? 它是当前用来保护API的先进技术之一。与大多数安全概念与技术一样,我们在准备使用它之前,了解其工作原理是非常必要且重要的。当然,过于专业和技术性的JWT解释可能会让您觉得费解,甚至感到头痛。那么让我试着用一种比较浅显易懂的方式,向您阐述JWT是如何加固API的吧。
 
         API身份验证
 
         不言而喻,在复杂的网络环境中,我们需要对各种API资源实施访问限制。例如,我们不希望某个用户能够更改另一个用户的密码。那么,我们就需要该用户以提交其ID和密码的方式,来保护和加固目标资源。换句话说:我们需要对他们进行身份验证。
 
         而在实际应用中,我们保护HTTP类API的难点在于:各种请求是无状态的。也就是说:API无法知道任意两个请求是否来自同一个用户。有人可能会追问:我们为什么不能要求用户在每次调用API时,都提供他们的ID和密码呢?答案是:因为这样会给用户带来极差的访问体验。
 
         JSON Web Token
 
         因此,我们需要的是:用户只用一次性提供信任凭据,而在后续的请求中,服务器会以另一种方式进行用户身份的识别。基于这种思想,JSON Web Token应运而生。
 
当然,如果您是一位爱好钻研的学霸,那么您可以通过链接:https://robmclarty.com/blog/what-is-a-json-web-token,来对JSON Web Token的工作原理进行全面深入的参悟。
 
在此让我们想象一下:如果您打算入住一家酒店,那么“令牌”就是允许您进入自己房间、以及酒店内其他设施的安全门卡,显然您不能进入其他人的房间。而且在退房的时候,您需要退还门卡,即:注销。
 
令牌的结构
 
通常情况下, JSON Web Token是通过各种HTTP请求的头部(header)被发送的。如下所示:
 
复制
Authorization:Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0.dozjgNryP4J3jVmNHl0w5N_XgL0n3I9PlFUP0THsR8U
 
可见,令牌就是“Authorization:Bearer”的后面部分,隶属于HTTP的头部信息。
 
注:base 64是一种转换字符串的方法,能够确保字符串在跨Web传输的过程中不会出现问题。由于它不是一种加密方法,因此任何人都可以很容易地对它进行解码,以查看原始数据。

(编辑:应用网_丽江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读