token(JWT)
token(JWT)
token
是服务端生成并返回给HTTP
客户端的一串加密字符串,token
中保存着用户信息- 实现会话控制,可以识别用户的身份,主要用于移动端 APP
token
的工作流程- 校验身份,校验通过后响应
token
,token
一般是在响应体中返回给客户端的 - 后续发送请求时,需要手动将
token
添加在请求报文中,一般是放在请求头中
- 校验身份,校验通过后响应
token
的特点- 服务端压力更小(数据存储在客户端)
- 相对更安全(数据加密、可以避免
CSRF
【跨站请求伪造】) - 扩展性更强(服务间可以共享、增加服务节点更简单)
JWT
- JWT(JSON Web Token)是目前最流行的跨域认证解决方案,可用于基于
token
的身份验证 - JWT使
token
的生成与校验更规范
使用jsonwebtoken
包操作token
示例
//导入 jsonwebtokan
const jwt = require('jsonwebtoken')
//创建 token
// jwt.sign(数据, 加密字符串--盐值, 配置对象)
let token = jwt.sign(
{
username: 'zhangsan'
},
'tokentest',
{
expiresIn: 60 //单位是 秒
}
)
//解析 token
// jwt.verify(token, 加密字符串--盐值, 回调函数)
jwt.verify(token, 'tokentest', (err, data) => {
if(err){
console.log('校验失败~~')
return
}
console.log(data)
})
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)