1.什么是JWT
JWT是Json Web Token的缩写,是为了在网络应用环境间传递声明而执行的一种基于JSON的开放标准。 JWT的声明一般被用来在身份提供者和服务提供者间传递被认证的用户身份信息,以便从服务器获取资源,也可以增加一些额外的其他业务逻辑所必须的声明信息。
2.组成
1.头部【header】
需要对头部里面的内容进行base64加密,这样才构成第一部分
头部一般存放加密的方式和token类型
2.载荷 【payload】
1.载荷一般是存放有效信息的地方。包含三个部分
1.标准注册声明
2.公共的声明
可以添加任何非敏感信息,因为该部分客户端可以进行解密
3.私有的声名
一般用来存放客户端和消费端所共同定义的声明,不建议放敏感信息。
2.需要对载荷里的信息进行base64加密,这样才能构成第二部分
3.签证【signature】
这里需要对前两个部分进行处理:
1.header和payload使用 "."连接组成字符串。
2.通过header里面声明的加密方式进行加盐secret(私钥)组合加密,就构成了第三部分。
4.使用go实现jwt
1.1.生成jwt
2.解析jwt
3、参考
(https://www.liwenzhou.com/posts/Go/jwt_in_gin/)?
|