暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

JWT(JSON Web Token)是什么?

IoT平台和开发者 2020-09-07
1909

前言

JWT是JSON Web Token的简称。

JSON Web Token (JWT)是一个开放标准(RFC 7519),它定义了一种紧凑且自包含的方式,以JSON对象的形式在各方之间安全地传输信息。可以验证和信任该信息,因为它是数字签名的。客户端只需要使用凭据对服务器进行一次身份验证。在此期间,服务器验证凭据并向客户端返回一个JSON Web令牌(JWT)。对于以后的所有请求,客户机都可以使用这个JSON Web令牌(JWT)向服务器进行身份验证,因此不需要发送用户名和密码等凭据。

JWT是如何运作工作?

在第一个请求期间,客户端发送一个带有用户名和密码的POST请求。

身份验证成功后,服务器生成JWT并将此JWT发送给客户机。这个JWT可以包含数据的有效负载。在所有后续请求中,客户端在头中发送这个JWT令牌。

服务器使用此令牌对用户进行身份验证。因此,在每个身份验证请求期间,我们不需要客户机向服务器发送用户名和密码,而只需要服务器向客户机发送一次JWT。

JWT有效负载可以包含用户ID这样的内容,这样当客户端再次发送JWT时,您可以确保它是由您发出的,并且可以看到它是向谁发出的。

JWT结构

JWT有以下格式  -header.payload.signature

关于JWT需要记住的重要一点是JWT有效载荷中的信息对每个人都是可见的。所以我们不应该在有效载荷中传递任何敏感信息,比如密码。

我们可以加密有效载荷数据如果我们想让它更安全。但是我们可以确定没有人可以篡改和改变有效载荷信息。如果这样做了,服务器将识别它。

生成一个JWT

我们将使用JWT在线令牌生成器创建JWT令牌。

  1. 如下方式定义负载内容

  1. 添加自定义负载内容字段

  1. 使用散列算法为有效负载签名

检查Token的内容

我们将使用JWT在线解码器检查JWT令牌


下一篇文章将给大家带来Spring Boot Security + JWT Hello World示例




扫二维码|关注我们


微信号|jamesmsw

官方地址 | iot.mushuwei.cn

GitHub|IOT-Technical-Guide


文章转载自IoT平台和开发者,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论