JWT - JSON Web Token - 2019-05-01 16:32:44

原文: https://dev.to/siwalik/what-the-heck-is-jwt-anyway--47hg JWT token 结构,分为三部分,通过 . 分隔 header.payload.signature header 由两部分组成 token令牌类型 通常是 JWT 使用的哈希算法 HMAC SHA256或者RSA等等 示例 { "alg": "HS256", "typ": "JWT" } 这个JSON被Base64Url编码,构成JWT的第一部分 'use strict'; var header = { "alg": "HS256", "typ": "JWT" }; var enc_header = Buffer.from(JSON.stringify(header)).toString('base64'); // ► "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9" Payload 用于存放有效信息 有三种类型的声明(Claims): 保留声明(Registered claims)预定义的声明, 一般如下 iss: 该JWT的签发者 sub: 该JWT所面向的用户 aud: 接收该JWT的一方 exp(expires): 什么时候过期,这里是一个Unix时间戳 iat(issued at): 在什么时候签发的 公有声明(public claims)这些是使用JWT的那些标准化组织根据需要定义的 私有声明(private claims) 这些是自定义的声明,用于在达成共识的多方之间共享信息 示例