面试者与面试官

JWT(JSON Web Token)是一种用于在网络环境中进行安全信息传递的开放标准

完整的JWT由三部分组成,其结构可以表示为xxxxxx.yyyyyy.zzzzzz格式。

头部(Header):

通常包含令牌的类型和加密算法;

载荷(Papload):

包含自定义的数据如用户信息,权限等;

签名(Signature):

作用是用来验证消息的完整性和真实性,防止消息被篡改;

JWT是无状态的,服务器不需要为其保存会话信息,从而减轻了服务器的存储压力,但同时也意味着一旦泄露任何请求都会被允许,而常用的解决方法是给JWT设置不固定的过期时间,强制客户端过期重新获取。

JWT另一个特点是,一旦生成后在其过期前都不可再修改其有效期。

它的主要应用场景包括用户身份验证和授权,用户在登录成功后获取JWT后,后续的所有请求都需要携带该JWT向服务器请求资源,服务器则可以根据这个JWT来验证用户的有效性。