服务端校验jwt与前端请求头保存token

这篇博客详细介绍了在前端如何使用axios设置请求头携带JWT token,以及后端如何利用jsonwebtoken进行token验证和用户信息获取。前端通过拦截器在每次请求时添加Authorization头,后端则从请求头中解析并验证token,确保安全的API调用。
摘要由CSDN通过智能技术生成

1、前端请求头带token

import axios from 'axios'

import Vue from 'vue'

import router from './router'

const http =  axios.create({

      //baseURL:process.env.VUE_APP_API_URL || '/admin/api',

      baseURL:"http://localhost:3000/admin/api"

})


 

//token不止一种类型,Bearer为行业规范,后面需要带一个空格

//给请求头带token过去

http.interceptors.request.use(function(config){

    if(localStorage.token){

        config.headers.Authorization = 'Bearer '+localStorage.token || ''

    }

    return config;

},function(error){

    return Promise.reject(error)

})

2、后端接口校验

    const jwt = require("jsonwebtoken");

    const AdminUser = require("../models/AdminUser");

//authorization后端需首字母小写,前端首字母为大写

//split(' ') 注意要有空格才能分割正确的token

router.get('/',async (req,res,next)=>{

const token = String(req.headers.authorization || ' ').split(' ').pop();

const {id} = jwt.verify(token,app.get('secret'));

//req.user让后面每个接口都能获取到

//通过token获取到的id去模型里面找对应的数据

req.user = await AdminUser.findById(id);

})

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值