那么,今天我们讨论的是“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