JWT|大纲
具体分析|笔记
JWT|定义
JSON Web Token(JSON Web 令牌)是一种跨域(域名)验证身份的方案。JWT 不加密传输的数据,但能够通过数字签名来验证数据未被篡改。
JWT 分为三部分,头部(Header),声明(Claims),签名(Signature),三个部分以英文句号.隔开。 JWT 的内容以 Base64URL 进行了编码。
但是签名部分需要前面两部分的整合以及密钥才可解密。
JWT|例子
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40
| 头部(Header) { "alg":"HS256", "typ":"JWT" }
声明(Claims) { "exp": 1416471934, "user_name": "user", "scope": [ "read", "write" ], "authorities": [ "ROLE_ADMIN", "ROLE_USER" ], "jti": "9bc92a44-0b1a-4c5e-be70-da52075b9a84", "client_id": "my-client-with-secret" }
声明(Claims) { "exp": 1416471934, "user_name": "user", "scope": [ "read", "write" ], "authorities": [ "ROLE_ADMIN", "ROLE_USER" ], "jti": "9bc92a44-0b1a-4c5e-be70-da52075b9a84", "client_id": "my-client-with-secret" }
|
JWT|杂七杂八
1、关于JWT的知识点
2、签名不对,那就只可更改头部内容为none。(前提:对方服务器无需验证签名)
3、JWT可能也会导致sql注入,原因是头部的kid值可能会带入数据库查询。
使用在线jwt解码
https://jwt.io/