页面加载时的 JWT 身份验证
JWT Authentication on page load
我在我的节点站点中使用护照进行 JWT 身份验证,但不确定我是否理解这些概念。
假设我是经过身份验证的用户,我的令牌保存在本地存储中。假设我然后导航到 /user 页面,该页面将显示有关我的用户的数据。通常,我会检查用户是否已登录,如果没有,他们将被重定向到登录页面。但在这种情况下,由于我无法从页面请求发送身份验证令牌,我必须加载我的 /user 页面,然后该页面请求用户数据,如果找不到数据,我将它们重定向到通过 javascript.
的登录页面
我的处理方式是否正确?这似乎是一种糟糕的用户体验,不得不等待并重定向两次。有没有解决的办法? JWT 不是我正在寻找的实现吗?
如果要呈现页面服务器端,您应该将 JWT 设置为 cookie 而不是使用本地存储。当用户请求页面时,您将能够捕获、验证和使用它。
但我不得不说现代网络应用程序使用客户端渲染。所以不需要将 JWT 存储为 cookie。请求页面时,您将仅收到静态资产,您将通过查询 API 来获取数据,该 API 可以响应 401(无效或过期或丢失令牌)。
看来您之前使用的是服务器端渲染。现在您想使用 JWT 并且您已经在某处读到一个常见的做法是将它存储在 LocalStorage 中(这是真的)。现在您正在处理服务器端呈现的应用程序架构,同时尝试混合客户端呈现的应用程序概念。
您没有犯大错误,但您应该考虑完全呈现您的应用程序服务器或客户端(我建议)。对于第二个选项,google "Build single page application"
我在我的节点站点中使用护照进行 JWT 身份验证,但不确定我是否理解这些概念。
假设我是经过身份验证的用户,我的令牌保存在本地存储中。假设我然后导航到 /user 页面,该页面将显示有关我的用户的数据。通常,我会检查用户是否已登录,如果没有,他们将被重定向到登录页面。但在这种情况下,由于我无法从页面请求发送身份验证令牌,我必须加载我的 /user 页面,然后该页面请求用户数据,如果找不到数据,我将它们重定向到通过 javascript.
的登录页面我的处理方式是否正确?这似乎是一种糟糕的用户体验,不得不等待并重定向两次。有没有解决的办法? JWT 不是我正在寻找的实现吗?
如果要呈现页面服务器端,您应该将 JWT 设置为 cookie 而不是使用本地存储。当用户请求页面时,您将能够捕获、验证和使用它。
但我不得不说现代网络应用程序使用客户端渲染。所以不需要将 JWT 存储为 cookie。请求页面时,您将仅收到静态资产,您将通过查询 API 来获取数据,该 API 可以响应 401(无效或过期或丢失令牌)。
看来您之前使用的是服务器端渲染。现在您想使用 JWT 并且您已经在某处读到一个常见的做法是将它存储在 LocalStorage 中(这是真的)。现在您正在处理服务器端呈现的应用程序架构,同时尝试混合客户端呈现的应用程序概念。 您没有犯大错误,但您应该考虑完全呈现您的应用程序服务器或客户端(我建议)。对于第二个选项,google "Build single page application"