JWT详解(组成,工作原理,优缺点,续签问题,删除但有效问题)
JWT(JSON Web Token)是一种用于双方之间传递安全信息的简洁的、URL安全的表示方法。
成员:
- Header:包含了签名算法的类型(如HMAC SHA256或RSA)和令牌的类型(一般是JWT)。
- Payload:包含了声明(assertions),它们是关于实体(通常是用户)和其他数据的声明。
- Signature:是Header和Payload的签名,确保了JWT的真实性。
工作原理:
- 用户登录。
- 服务器验证用户凭据。
- 服务器创建一个JWT。
- 服务器返回JWT给客户端。
- 客户端将JWT保存下来。
- 客户端后续请求中携带JWT。
- 服务器验证JWT的有效性。
- 服务器处理请求,返回响应。
优点:
- 简洁:JWT通常比其他认证方式生成的token要短。
- 无状态:JWT可以在不同的服务间移动,因为它们包含所有需要的信息。
- 跨域认证:JWT可以在多个站点间共享认证状态。
续签问题:
JWT通常有一个过期时间(exp),在过期之前可以续签以更新payload。
删除但仍有效问题:
JWT一旦签发,就不能被撤销,但可以设置一个黑名单机制,在JWT被删除时通知所有服务器。
以上是JWT的基本概念和工作流程,具体实现细节会涉及到编码、解码和签名等安全操作。
评论已关闭