那麼,今天我們討論的是「Session Expiry」的概念,特別是當你在專案中使用NextAuth.js。用簡單、友善的語言來理解,以免產生混亂。 ,
因此,首先讓我們了解「您的會話已過期」錯誤的含義。這是一個與身份驗證相關的錯誤,當使用者的登入工作階段終止時會發生該錯誤。例如,您登入了一個網站或應用程序,使用了一段時間,然後離開了一段時間。當我回來時,螢幕上出現訊息「會話已過期,請重新登入」。這意味著,先前授予您存取應用程式的權限已過期,您將需要重新登入以再次進行身份驗證。 , , , 舉個例子來理解: , 想像一下,您走進一家購物中心,保全給了您一張
訪客卡, , NextAuth mein Session 如何運作? , 現在,如果我們實作NextAuth.js,那裡也有一些規則。當使用者登入時,NextAuth 使用 JWT(JSON Web 令牌)
或是對使用者憑證進行編碼而發送的令牌,並隨每個請求一起發送以驗證使用者是否有效。 , Session Cookies儲存在瀏覽器中,後端透過Session Cookies知道目前登入的是哪個使用者。 , 但是,它們有一個到期時間
,您可以透過
,
例如,在 NextAuth 中,您可以執行會話輪詢,以便會話自動刷新:
,
useSession({
要求:真實,
onUnauthenticated(){
登入(); // 如果會話過期則重新導向到登入頁面
,
,
,
,
export const authOptions = { session: { strategy: "jwt", // JWT ya session-based approach maxAge: 30 * 60, // 30 minutes ka session timeout }, // baaki authentication providers yahan mention karte hain }保持登入
:某些應用程式為使用者提供「保持登入」選項,這會延長會話到期時間。這可以使用
令牌輪換想像一下,您正在使用電子商務應用程式,並且已將一些起司添加到您的購物車。如果會話過期,您將重新登錄,但購物車中的商品將保持原樣。這是可能的,因為購物車資料可能已保存在
本地儲存
useSession({ required: true, onUnauthenticated() { signIn(); // Redirect to login page agar session expire ho jaaye }, });,
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3