第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

如何在 React 和 Express 應(yīng)用程序中存儲(chǔ)身份驗(yàn)證狀態(tài)

如何在 React 和 Express 應(yīng)用程序中存儲(chǔ)身份驗(yàn)證狀態(tài)

元芳怎么了 2022-06-09 16:16:42
我有反應(yīng)節(jié)點(diǎn)快遞應(yīng)用程序。在客戶端,我正在使用這樣的 react-router:export default function App() {  return (    <div className="App">      <Router>       <MenuBar/>        <Switch>          <Route exact path="/" component={Main}/>          <Route path="/signin" component={SignIn}/>          <Route path="/signup" component={SignUp}/>          <Route path="/search" component={Search}/>          <Route path="/post" component={Post}/>        </Switch>      </Router>    </div>  );}在服務(wù)器端,我有使用本地和谷歌策略的護(hù)照。成功登錄后,當(dāng)客戶端從 axios 調(diào)用服務(wù)器時(shí),我看到 req.user 存在于服務(wù)器端,所以我猜這是檢查用戶是否登錄的一種方法。我的問題是,如果我希望我的反應(yīng)應(yīng)用程序根據(jù)用戶的登錄狀態(tài)具有不同的行為,例如,注銷按鈕而不是登錄用戶的登錄按鈕,并且“/post” URL 僅適用于登錄用戶(重定向如果用戶未登錄,則為“/”),如何在客戶端存儲(chǔ)用戶登錄狀態(tài)?據(jù)我了解,在刷新頁面時(shí)將這些數(shù)據(jù)存儲(chǔ)在 Context 或 Redux 中會(huì)出現(xiàn)問題,因?yàn)樗⑿潞髷?shù)據(jù)會(huì)消失,對(duì)吧?我必須使用useEffect((//axios call to check auth state)=>,[])在路由器的每個(gè)組件中并根據(jù)服務(wù)器的響應(yīng)更新本地狀態(tài)?有沒有更好的辦法?
查看完整描述

2 回答

?
大話西游666

TA貢獻(xiàn)1817條經(jīng)驗(yàn) 獲得超14個(gè)贊

localStorage 是執(zhí)行此類操作的最佳方式,如果不使用令牌,則必須使用令牌來維護(hù)會(huì)話。當(dāng)任何 API 被命中時(shí),每頁一個(gè),使用后端的會(huì)話令牌進(jìn)行檢查。將身份驗(yàn)證狀態(tài)值保存在 localStorage 中將使用戶可以訪問其他沒有登錄的頁面。



查看完整回答
反對(duì) 回復(fù) 2022-06-09
?
蝴蝶不菲

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊

由于這是一個(gè)復(fù)雜的問題,無法編寫完整的解決方案。這是指導(dǎo)方針

  1. 登錄時(shí),將憑據(jù)保存在 localStorage 中,例如 accessToken、刷新令牌

  2. 編寫通用代碼(身份驗(yàn)證服務(wù))以在 localStorage 中寫入和讀取訪問令牌和用戶信息,以便您可以訪問應(yīng)用程序中的任何位置

  3. ProtecteRoute像本文中給出 的那樣編寫您的自定義https://tylermcginnis.com/react-router-protected-routes-authentication/

  4. 注銷時(shí),使用并重定向或更改狀態(tài)從 localStorage 清除您的數(shù)據(jù),Auth.logout()這樣 ProtectedRouter 將不允許用戶進(jìn)入受保護(hù)的應(yīng)用程序頁面,因?yàn)槟膽{據(jù)已被刪除Auth.isLoggedIn()并將返回 false。


查看完整回答
反對(duì) 回復(fù) 2022-06-09
  • 2 回答
  • 0 關(guān)注
  • 175 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)