vue 注冊登錄完成后,發送token


vue項目,注冊登錄,登錄完成后返回一個token

前提:注冊,登錄走通,vue、express、axios

登錄成功后,給前端發送一個 user 對象,以及用jwt生成的token,作用:告訴服務端對應哪個數據

安裝jwt: npm install jsonwebtoken 

// jwt.sign。簽名,第一個參數:用戶id;第二個參數:密鑰,保密的文件,全局唯一,用來加密(SECRET)

1     const token = jwt.sign({
2         id:String(user._id)
3     },SECRET);
      res.send({
user:user,
token:token
})

傳給前台的token及user:

 

 使用token:假設一個請求,token加在請求頭中

        this.$axios.get('/adadad',
            {
              headers:{
                'Authorization':'Bearer '+localStorage.getItem('token')
              }
            }
          ).then(res => {
            //
            console.log(res.data)
          })

服務端調用接口, console.log(req.headers.authorization) 得到token

 

 // 驗證,解密

get('/adadad',async (req,res) => {
    const raw = String(req.headers.authorization).split(' ').pop();// token
    // 驗證解密
    const tokendata = require('jsonwebtoken').verify(raw,SECRET)  // 解密
    const id = tokendata.id
    const user = await  require('../../models/Users/user').findById(id) // 找用戶
    res.send(user)
})

發送,返回得到用戶信息:

 

 需要登錄的地方都需要token,因此把解密部分寫在公共地方,中間件

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM