【发布时间】:2019-03-05 10:44:54
【问题描述】:
我知道一旦用户的凭据通过身份验证,服务器会创建 jwt 并将其发送回前端,然后将令牌存储在浏览器本地存储中。我的问题是:我如何使用纯 javascript 在呈现他想要访问的页面之前检查用户是否具有有效的 jwt 并在 jwt 无效的情况下禁止他?
【问题讨论】:
-
how can i use pure javascript to check if user has a valid jwt如果javascript没有在服务器上运行,则不能。检查令牌是否有效是服务器的角色,而不是客户端。您需要使用令牌查询服务器,如果授权,则服务器发出 200 http 代码,如果未授权,则 403 为授权,但逻辑需要在服务器端实现。 -
稍微澄清一下:验证 jwt 实际上是身份验证,而不是授权。对于无效令牌,您返回 401(混淆地命名为“未授权”)。
-
假设用户尝试访问需要在我的 rest api 中使用 jwt 的 url。如何获取此令牌并将其发送到服务器?如果服务器返回 401 或者用户甚至没有令牌(他没有登录),我怎么能重定向到另一个页面,因为 rest api 中的后端不呈现模板?我没有使用任何 js 框架或 lib
标签: javascript authentication jwt web-frontend