在vue中使用后台提供 的token驗證方式總結及使用方法


token是相對會叫安全的使用暗碼形式的數據傳輸,由后台產生,並且傳輸到前台,前台可以將保存,在前台每次發送請求的時候可以攜帶token,后台可以對token進行驗證,通過驗證的通過請求可以對數據進行正確的回復,否則就睡返回錯誤的回執碼

token有自己的過期時限,並且是在后台實現,前台虛無考慮那么多,具體前台的步驟分為三部

1.在登陸的時候后台會給一個token碼,前台將其存儲在cookie,localstroage或者localsession中即可

請注意需要在tooken的前邊拼接字符串'Bearer '+,固定格式

login(){
            axios.post('/user/login',this.user).then((res)=>{
                localStorage.setItem('token',"Bearer "+res.data.res.token)
            })
        }

2.在router中設置守衛導航

判斷token是否存在,如果存在將攜帶token進行下一簇的操作,如果不存在,則返回登陸

router.beforeEach((to,from,next)=>{
    if(to.matched.some((route)=>route.meta.Auth)){
        if(localStorage.getItem('token')){
            next()
        }else{
             next({
                path:'/login',
                query:{
                    returnURL:to.path
                }
            })
        }
       
    }else{
         next()
    }
   
})

 

3.在axios的請求攔截器中攜帶tooken進行請求

axios.interceptors.request.use(config=>{
    const token=localStorage.getItem('token')
    // if(token){
        token?config.headers.Authorization=token:null;

    // }
    return config
});

每次請求時都會攜帶token,后台驗證不驗證token就是后台的問題了

設置token的回復攔截器,對回執碼錯誤的進行操作處理

axios.interceptors.response.use(res=>{
    if(res.data.res_code=== 401){
        router.replace('/login');
        localStorage.removeItem('token')
    }
    return res
})

這個根據后台的回執碼自行更改就行

 


免責聲明!

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



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