Token使用说明
1.Token介绍
JWT(JSON Web Token)是一种用于认证和授权的开放标准。它基于JSON(JavaScript Object Notation)格式,并被设计用于在网络应用之间安全地传输声明(claims)信息。
JWT由三部分组成:头部(Header)、负载(Payload)和签名(Signature)。头部包含了JWT的类型以及所使用的签名算法,负载包含了需要传输的信息,而签名用于验证JWT的完整性和真实性。
在TuGraph中,JWT用于实现无状态的认证和授权机制。当用户登录成功后,服务端会生成一个JWT并将其返回给客户端。客户端在后续的请求中将这个JWT作为身份凭证传递给服务端。服务端收到JWT后,通过验证签名和解析负载中的信息,判断用户的身份和权限,并决定是否允许该请求的执行。
2. Token有效期
2.1. 浏览器Token交互逻辑
- 用户打开浏览器,输入账号密码,并点击登录。
- 前端调用登录接口,向后端输入账号和密码。
- 后端接收到账号密码后,进行校验,校验成功后,返回Token。
- 前端将Token存储在浏览器缓存中,后续请求都要携带此Token。
- 如果前端,主动点击登出和关闭页面,前端应主动调用登出接口,向后端传递Token 。
- 后端接收后,将Token失效,返回状态码200,以及“等出成功”。前端接收到信息后,清空浏览器内存中的Token,并将页面退至登录页。
- Token失效(初始设置为24小时),需要用户重新登录。
2.3. Token有效期刷新机制
Token有效期存在刷新机制,默认关闭。如果打开后,Token的安全性会更高,实现上则存在两个时间戳。
第一个时间戳refresh_time
用于判定Token是否过期(默认24小时):过期后可以调用刷新接口获取新的Token,可以设置为更短的时间,比如1小时。
第二个时间戳expire_time
为强制过期时间戳(默认24小时):过期后必须重新登陆。
2.4. Token有效期修改
为了方便开发者自行开发,TuGraph提供了两种方式修改有效期,均需要admin权限。