簡體   English   中英

如何在 react native 和 redux 應用程序中處理 JWT 令牌到期

[英]How to handle JWT token expiry in react native and redux app

我對實施 JWT 還很陌生。 我在實施 JWT 時遇到了一些問題。 我正在使用 axios 發出請求。 當用戶登錄或注冊時。 我得到一個 accessToken,它會在幾天后到期。 我沒有 refreshToken 因為我認為后端是建立在 django rest 框架上的。

現在,如果我在請求中得到 401 的狀態代碼,我會嘗試檢查令牌是否已過期,如果是,則刷新 accessToken,但有時即使刷新令牌 api 也會返回 400,表明此令牌也已過期,在這一點我需要用戶注銷。

我認為這是一個糟糕的用戶體驗,為什么我們不能使用舊令牌刷新令牌。 有沒有辦法讓它不過期? 任何人都可以指出一個示例,該示例通過正確實現 axios 攔截器來解決以下問題?

由於您使用的是 Django rest 框架,請考慮使用帶有 JWT 令牌的Djoser ,然后 djoser 從后端向您發送訪問和刷新令牌。 后端准備完成后,請按照這篇簡單的文章從 React Native 自動刷新和訪問令牌。 希望對你有幫助。

您可以創建一個永不過期的令牌,但出於安全原因,這是一個壞主意。 如果令牌被盜,那么總有人可以訪問用戶的數據。 您可以在exp claim 中設置到期日期。 在此處閱讀更多信息: https : //gist.github.com/soulmachine/b368ce7292ddd7f91c15accccc02b8df

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM