| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- // ------------token相关-----------------
- import jwt from 'jsonwebtoken';
- import { promisify } from 'util';
- import resSend from '../util/resSend.js';
- import { tokenKey } from '../config/config.default.js';
- import { User, ZUser } from '../model/index.js';
- const toiwt: any = promisify(jwt.sign);
- const verify: any = promisify(jwt.verify);
- // 生成token
- export const getTokenFu = async (userInfo: any) => {
- return await toiwt(userInfo, tokenKey, {
- // token有效期10个小时
- expiresIn: 60 * 60 * 10,
- });
- };
- // 接口处理token中间件
- export const verifyToken = async (req: any, res: any, next: any) => {
- // 获取请求头里面的token
- let token = req.headers.token || '';
- if (!token) return resSend(res, 401, '请传入用户凭证');
- try {
- const decoded = await verify(token, tokenKey);
- const user = await User.findById(decoded._id);
- if (!user) return resSend(res, 401, '用户不存在或已被删除');
- // 用户信息存起来
- req.user = user;
- next();
- } catch (error) {
- return resSend(res, 401, '用户凭证无效');
- }
- };
- // 抽奖模块接口处理token中间件
- export const verifyToken2 = async (req: any, res: any, next: any) => {
- // 获取请求头里面的token
- let token = req.headers.token || '';
- if (!token) return resSend(res, 401, '请传入用户凭证');
- try {
- const decoded = await verify(token, tokenKey);
- const user = await ZUser.findById(decoded._id);
- if (!user) return resSend(res, 401, '用户不存在或已被删除');
- // 用户信息存起来
- req.user = user;
- next();
- } catch (error) {
- return resSend(res, 401, '用户凭证无效');
- }
- };
|