JWT是JSON Web Token,是一种基于JSON的开放标准,用于在网络应用环境间传递声明。 它通过数字签名的方式,以JSON对象为载体,在不同的服务终端之间安全地传输信息。JWT定义了一种紧凑且自包含的方式,用于作为JSON对象在各方之间安全地传输信息,这种信息是经过数字签名的,因此可以验证和信任
JWT是JSON Web Token,是一种基于JSON的开放标准,用于在网络应用环境间传递声明。 它通过数字签名的方式,以JSON对象为载体,在不同的服务终端之间安全地传输信息。JWT定义了一种紧凑且自包含的方式,用于作为JSON对象在各方之间安全地传输信息,这种信息是经过数字签名的,因此可以验证和信任
JWT的主要用途和特点包括:
身份验证和授权:JWT最常用于用户登录场景,一旦用户登录,后续每个请求都将包含JWT,系统在每次处理用户请求之前,都会进行JWT安全校验,通过后再进行处理。JWT还可以用于在身份提供者和服务提供者间传递被认证的用户身份信息,以便于从资源服务器获取资源23。
跨域使用:由于JWT是自包含的,不需要在服务器上存储状态,这减少了攻击面,并允许用户在没有状态的系统中进行认证。同时,JWT易于跨域使用,适用于前后端分离系统或跨平台系统23。
安全性高:JWT通过数字签名保证信息的完整性和真实性,可以有效防止篡改。此外,JWT还可以隐藏数据,提高安全性,特别适合分布式/微服务系统23。
JWT的结构包括三个部分:
头部(Header):描述JWT的签名算法和其它元数据。
有效载荷(Payload):包含发行方信息、用户信息、过期时间等声明。
签名(Signature):是头部和有效载荷的数字签名,使用头部中指定的签名算法生成,用于验证JWT的完整性和真实性3。