最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue3雙token加密登錄及注冊(cè)方式

 更新時(shí)間:2025年03月05日 08:55:42   作者:酒江  
本文介紹了雙Token機(jī)制在Vue3應(yīng)用中的實(shí)現(xiàn),包括登錄/注冊(cè)、請(qǐng)求攔截、響應(yīng)攔截、Token存儲(chǔ)、退出登錄等流程,重點(diǎn)是Token的刷新邏輯和安全性

一、核心思路

雙 Token 機(jī)制

  • Access Token:短期有效,用于請(qǐng)求 API。
  • Refresh Token:長(zhǎng)期有效,用于刷新 Access Token。

認(rèn)證流程

  • 用戶登錄或注冊(cè)成功后,后端返回 access_tokenrefresh_token。
  • 前端將 Token 安全存儲(chǔ)(如 localStoragecookie)。
  • 每次請(qǐng)求 API 時(shí),在請(qǐng)求頭中攜帶 access_token。
  • 當(dāng) access_token 過(guò)期時(shí),使用 refresh_token 獲取新的 access_token。
  • 如果 refresh_token 也過(guò)期,則強(qiáng)制用戶重新登錄。

二、實(shí)現(xiàn)步驟

登錄/注冊(cè)

  • 用戶提交表單后,調(diào)用后端接口獲取 access_tokenrefresh_token。
  • 將 Token 存儲(chǔ)到 localStoragecookie 中。

請(qǐng)求攔截

  • 使用 Axios 攔截器,在每次請(qǐng)求時(shí)自動(dòng)添加 access_token 到請(qǐng)求頭。

響應(yīng)攔截

  • 攔截 401 錯(cuò)誤(Token 過(guò)期),嘗試使用 refresh_token 刷新 access_token。
  • 如果刷新成功,更新 access_token 并重試請(qǐng)求。
  • 如果刷新失敗,清除 Token 并跳轉(zhuǎn)到登錄頁(yè)。

安全存儲(chǔ)

  • 使用 localStoragecookie 存儲(chǔ) Token,確保數(shù)據(jù)安全。
  • 可以考慮對(duì) Token 進(jìn)行加密存儲(chǔ)。

退出登錄

  • 清除存儲(chǔ)的 Token,并跳轉(zhuǎn)到登錄頁(yè)。

三、關(guān)鍵點(diǎn)

Token 刷新邏輯

  • 使用 refresh_token 調(diào)用后端接口獲取新的 access_token。
  • 避免重復(fù)刷新(通過(guò) _retry 標(biāo)志位)。

安全性

  • 使用 HTTPS 加密傳輸。
  • 避免將 Token 暴露在前端代碼中。

用戶體驗(yàn)

  • 在 Token 過(guò)期時(shí)自動(dòng)刷新,減少用戶重新登錄的頻率。

Vue 3 雙 Token 加密登錄和注冊(cè)的基本邏輯流程如下:

注冊(cè)

  • 用戶提交注冊(cè)信息(如用戶名、密碼)。
  • 后端驗(yàn)證用戶信息合法性(如密碼強(qiáng)度、用戶名唯一性)。
  • 后端生成一個(gè)加密的 Token(比如 JWT),并返回給前端。
  • 前端保存 Token,通常會(huì)將其存儲(chǔ)在 localStoragesessionStorage。

登錄

  • 用戶提交登錄信息(如用戶名、密碼)。
  • 后端驗(yàn)證用戶憑證是否合法。
  • 如果驗(yàn)證成功,后端返回兩個(gè) Token:一個(gè)用于身份驗(yàn)證的 access_token,另一個(gè)用于刷新身份的 refresh_token。
  • 前端保存 access_tokenrefresh_token。

access_token 用于 API 請(qǐng)求時(shí)攜帶。

refresh_token 用于刷新過(guò)期的 access_token

請(qǐng)求保護(hù)接口

  • 前端每次發(fā)起需要認(rèn)證的請(qǐng)求時(shí),攜帶 access_token(通常放在 HTTP 請(qǐng)求頭中)。
  • 后端驗(yàn)證 access_token,如果有效則返回?cái)?shù)據(jù);如果無(wú)效,后端通過(guò) refresh_token 獲取新的 access_token。

刷新 Token

  • 當(dāng) access_token 過(guò)期時(shí),前端使用 refresh_token 通過(guò)接口請(qǐng)求獲取新的 access_token。
  • 后端驗(yàn)證 refresh_token 是否有效,如果有效則返回新的 access_token。

四、總結(jié)

通過(guò)雙 Token 機(jī)制,可以有效提升應(yīng)用的安全性,同時(shí)保證用戶體驗(yàn)。

核心在于:

  • Token 的獲取與存儲(chǔ)。
  • 請(qǐng)求與響應(yīng)攔截器的實(shí)現(xiàn)。
  • Token 刷新邏輯的處理。

這種機(jī)制適用于需要高安全性的應(yīng)用場(chǎng)景,如金融、電商等。

前端通過(guò)雙 Token(access_tokenrefresh_token)機(jī)制處理身份驗(yàn)證和授權(quán),access_token 用于訪問(wèn)保護(hù)接口,refresh_token 用于在 access_token 過(guò)期時(shí)刷新認(rèn)證。

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • vue使用Vue.extend創(chuàng)建全局toast組件實(shí)例

    vue使用Vue.extend創(chuàng)建全局toast組件實(shí)例

    這篇文章主要介紹了vue使用Vue.extend創(chuàng)建全局toast組件實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • vue開(kāi)發(fā)之LogicFlow自定義業(yè)務(wù)節(jié)點(diǎn)

    vue開(kāi)發(fā)之LogicFlow自定義業(yè)務(wù)節(jié)點(diǎn)

    這篇文章主要為大家介紹了vue開(kāi)發(fā)之LogicFlow自定義業(yè)務(wù)節(jié)點(diǎn),有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • 前端實(shí)現(xiàn)不同角色登入展示不同頁(yè)面效果實(shí)例

    前端實(shí)現(xiàn)不同角色登入展示不同頁(yè)面效果實(shí)例

    要實(shí)現(xiàn)不同角色登錄跳轉(zhuǎn)不同的前端頁(yè)面,可以在登錄成功后,根據(jù)用戶的角色信息,使用路由跳轉(zhuǎn)到不同的頁(yè)面,這篇文章主要給大家介紹了關(guān)于前端實(shí)現(xiàn)不同角色登入展示不同頁(yè)面效果的相關(guān)資料,需要的朋友可以參考下
    2024-08-08
  • 利用vue+elementUI設(shè)置省市縣三級(jí)聯(lián)動(dòng)下拉列表框的詳細(xì)過(guò)程

    利用vue+elementUI設(shè)置省市縣三級(jí)聯(lián)動(dòng)下拉列表框的詳細(xì)過(guò)程

    在做電商項(xiàng)目的時(shí)候需要添加修改收貨地址,如何實(shí)現(xiàn)三級(jí)聯(lián)動(dòng)選取省市區(qū)地址困擾了我不少時(shí)間,這篇文章主要給大家介紹了關(guān)于利用vue+elementUI設(shè)置省市縣三級(jí)聯(lián)動(dòng)下拉列表框的相關(guān)資料,需要的朋友可以參考下
    2022-08-08
  • vue實(shí)現(xiàn)一個(gè)簡(jiǎn)單的Grid拖拽布局

    vue實(shí)現(xiàn)一個(gè)簡(jiǎn)單的Grid拖拽布局

    這篇文章主要為大家詳細(xì)介紹了如何利用vue實(shí)現(xiàn)一個(gè)簡(jiǎn)單的Grid拖拽布局,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-12-12
  • Vue項(xiàng)目webpack打包部署到Tomcat刷新報(bào)404錯(cuò)誤問(wèn)題的解決方案

    Vue項(xiàng)目webpack打包部署到Tomcat刷新報(bào)404錯(cuò)誤問(wèn)題的解決方案

    今天很郁悶,遇到這樣一個(gè)奇葩問(wèn)題,使用webpack打包vue后,將打包好的文件,發(fā)布到Tomcat上,訪問(wèn)成功,但是刷新后頁(yè)面報(bào)404錯(cuò)誤,折騰半天才解決好,下面小編把Vue項(xiàng)目webpack打包部署到Tomcat刷新報(bào)404錯(cuò)誤問(wèn)題的解決方案分享給大家,需要的朋友一起看看吧
    2018-05-05
  • 一文詳解vue-router如何實(shí)現(xiàn)動(dòng)態(tài)路由

    一文詳解vue-router如何實(shí)現(xiàn)動(dòng)態(tài)路由

    在構(gòu)建基于Vue.js的單頁(yè)面應(yīng)用(SPA)時(shí),Vue?Router是一個(gè)不可或缺的工具,本文將詳細(xì)介紹動(dòng)態(tài)路由的概念與作用及其在Vue?Router中的具體實(shí)現(xiàn),需要的可以參考下
    2024-11-11
  • vue組件中的數(shù)據(jù)傳遞方法

    vue組件中的數(shù)據(jù)傳遞方法

    這篇文章主要介紹了vue組件中的數(shù)據(jù)傳遞方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友參考下吧
    2018-05-05
  • vue中如何給data里面的變量增加屬性

    vue中如何給data里面的變量增加屬性

    這篇文章主要介紹了vue中如何給data里面的變量增加屬性,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Vue如何在CSS中使用data定義的數(shù)據(jù)淺析

    Vue如何在CSS中使用data定義的數(shù)據(jù)淺析

    這篇文章主要給大家介紹了關(guān)于Vue如何在CSS中使用data定義的數(shù)據(jù)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用vue具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-05-05

最新評(píng)論

翁源县| 融水| 包头市| 达日县| 古蔺县| 二连浩特市| 泽库县| 丹凤县| 双柏县| 江孜县| 榆中县| 浪卡子县| 娱乐| 两当县| 柳林县| 古浪县| 鄯善县| 怀宁县| 共和县| 凤阳县| 山阳县| 双桥区| 威海市| 东辽县| 临湘市| 玉田县| 佛山市| 昂仁县| 故城县| 龙陵县| 通河县| 武平县| 永川市| 苍山县| 内黄县| 余庆县| 海城市| 多伦县| 兴和县| 东台市| 仙游县|