Rumah  >  Artikel  >  hujung hadapan web  >  Sesi Anda telah Tamat Tempoh !!

Sesi Anda telah Tamat Tempoh !!

Susan Sarandon
Susan Sarandonasal
2024-10-29 18:31:29890semak imbas

Your Session has Expired !!

Nah, hari ini kita bercakap tentang konsep "Sesi Tamat Tempoh", terutamanya apabila anda menggunakan NextAuth.js dalam projek anda. Fahami dalam bahasa yang mudah dan mesra, supaya tidak ada kekeliruan.

Jadi, pertama sekali mari kita fahami maksud ralat "Sesi anda telah tamat tempoh". Ini ialah ralat berkaitan

pengesahan, yang muncul apabila sesi log masuk pengguna ditamatkan. Sebagai contoh, anda melog masuk ke tapak web atau apl, menggunakannya untuk seketika, kemudian meninggalkan untuk seketika. Apabila saya kembali, mesej muncul pada skrin "Sesi tamat tempoh, sila log masuk semula." Bermaksud, kebenaran yang memberi anda akses kepada apl sebelum ini telah tamat tempoh dan anda perlu log masuk semula untuk disahkan semula. Contoh untuk difahami: Bayangkan, anda berada di pusat membeli-belah dan pengawal keselamatan memberikan anda

kad pelawat
untuk masuk. Dari saat kad pelawat anda sah, anda boleh berkeliaran di sekitar pusat membeli-belah, membeli-belah, menonton wayang. Tetapi jika kad pelawat hanya sah selama satu jam dan anda melintasi satu jam, anda perlu keluar atau mengambil kebenaran daripada pihak keselamatan sekali lagi. Betul-betul seperti ini, sesi juga merupakan

kebenaran sementara

, yang boleh tamat tempoh.

Bagaimanakah NextAuth mein Session berfungsi? Sekarang jika kita melaksanakan NextAuth.js, terdapat beberapa peraturan di sana juga. Apabila pengguna log masuk, NextAuth menjejaki identiti pengguna menggunakan JWT (Token Web JSON)

atau
kuki sesi

.

JWT

ialah token yang dihantar selepas mengekodkan kelayakan pengguna dan dihantar dengan setiap permintaan untuk mengesahkan sama ada pengguna itu sah atau tidak. Kuki Sesi disimpan dalam penyemak imbas, yang melaluinya bahagian belakang mengetahui pengguna yang sedang log masuk. Tetapi, mereka mempunyai masa tamat tempoh

, yang boleh anda tetapkan melalui
    konfigurasi
  • . Suka: Di sini maxAge bermakna sesi akan kekal aktif selama 30 minit sahaja. Jika pengguna mengambil sebarang tindakan (seperti muat semula halaman atau sebarang permintaan) selepas 30 minit, sesi akan tamat tempoh dan pengguna perlu log masuk semula.
  • Kaedah untuk Mengelakkan Tamat Sesi
    Muat Semula Senyap:

    Anda boleh melaksanakan

    token muat semula
    , yang menyegarkan semula sesi secara senyap di latar belakang, supaya pengguna tidak perlu log masuk secara manual setiap kali.
  1. Sebagai contoh, dalam NextAuth anda boleh melakukan tinjauan sesi supaya sesi dimuat semula secara automatik:

Kekal Log Masuk: Sesetengah apl memberi pengguna pilihan "Kekal Log Masuk", yang memanjangkan masa tamat sesi. Ini boleh dilakukan menggunakan putaran token
, di mana token baharu diperoleh pada setiap permintaan.

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
}
  1. Mekanisme Log Keluar Auto: Dalam sesetengah kes, atas sebab keselamatan, apl sengaja membiarkan sesi tamat tempoh awal. Seperti dalam aplikasi perbankan, anda akan perasan bahawa jika anda tidak aktif untuk beberapa lama, maka sesi akan dilog keluar. Anda juga boleh menambahkan ini pada konfigurasi NextAuth anda jika anda ingin mengekalkan keselamatan yang tinggi.

    Senario Kehidupan Sebenar dalam Apl:
  2. Bayangkan, anda menggunakan
  3. apl e-dagang

    dan telah menambahkan beberapa item pada troli anda. Jika sesi tamat tempoh, anda akan log masuk semula, tetapi item dalam troli akan kekal seperti sedia ada. Ini mungkin kerana data troli mungkin telah disimpan dalam storan tempatan. Tetapi dalam sesetengah apl sensitif seperti e-mel atau apl perbankan, pengguna perlu memaksa log keluar apabila sesi tamat tempoh.

    Jadi kawan-kawan, ini adalah asas lengkap tamat tempoh sesi, dan cara NextAuth.js mengendalikannya dalam projek anda. Konsep ini mungkin kelihatan mengelirukan pada mulanya, tetapi apabila anda melaksanakannya di dunia nyata, semuanya menjadi jelas secara beransur-ansur. Jika anda mempunyai sebarang keraguan atau ingin mengetahui lebih banyak butiran tentang mana-mana bahagian tertentu, jangan ragu untuk bertanya! ?

Atas ialah kandungan terperinci Sesi Anda telah Tamat Tempoh !!. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn