token的处理

        首先在用户点击登入的时候,将用户名和密码传给服务器,服务器去对用户名和密码进校验,验证通过将token返回给前端,前端拿到token后,将token存储到公共的状态管理工具中也就是vuex,然后再持久化到本地也就是存到localStrong中

有了token后,我们就可以做很多的事情,

比如说:

1、在请求拦截器中我们可以把token统一注入到请求头中 

2、在进行页面跳转的时候,判断有无token,如果有就去对应的页面,如果没有就跳转到登录页

3、判断token的失效,当token失效时,将token删除,并跳转到登录页 

前端怎么将token传给后端

通过header的方式,将token放在请求头中

为什么说使用refresh token安全

其实所谓的安全就是不容易盗取用户信息,当我们的token设置时间过长是不安全的,而如果设置的时间很短的话用户就需要频繁登录,给用户的体验也是极差的

而我们可以通过refresh token 来延迟登录的时长,如果fresh token被盗了,想刷新access token的话,就需要提供过期的access token这个盗取的难度就增强了,同时refresh token只有在第一次获取和刷新access token时才会在网络中进行传输,被盗的风险小于access token,从而在一定程度上安全了一点

  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
以下是一份完整的token处理和中间件: ```javascript const jwt = require('jsonwebtoken'); const expressJwt = require('express-jwt'); // 配置jsonwebtoken const JWT_SECRET = 'secret'; const JWT_EXPIRATION_TIME = '1h'; // 生成token const generateToken = payload => { return jwt.sign(payload, JWT_SECRET, { expiresIn: JWT_EXPIRATION_TIME }); }; // 验证token const validateToken = (req, res, next) => { expressJwt({ secret: JWT_SECRET })(req, res, err => { if (err) { return res.status(401).json({ error: err.message }); } next(); }); }; // 中间件 const middleware = (req, res, next) => { // 获取token const token = req.headers['authorization'] && req.headers['authorization'].split(' ')[1]; if (!token) { return res.status(401).json({ error: 'Token not found' }); } // 验证token jwt.verify(token, JWT_SECRET, (err, decoded) => { if (err) { return res.status(401).json({ error: 'Token is invalid' }); } req.user = decoded; next(); }); }; // 全局使用中间件 app.use(middleware); ``` 使用方法: ```javascript // 生成token const token = generateToken({ username: 'john' }); // 验证token app.get('/protected-route', validateToken, (req, res) => { res.json({ message: 'Welcome to the protected route!' }); }); ``` 在上面的例子中,我们定义了一个`generateToken`函数来生成token,还定义了一个`validateToken`中间件来验证token是否有效。我们还定义了一个`middleware`中间件来获取和验证token,并将解码后的用户信息存储在`req.user`中。最后,我们使用`app.use(middleware)`来全局使用中间件。 在路由中使用`validateToken`中间件来保护需要验证token的路由。这样,只有在提供有效的token时,才能访问受保护的路由。 这是一种基本的方式来处理token,并且使用`express-jwt`可以让我们更轻松地验证token
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值