1 个回答
1、无状态:JWT 自身包含了身份验证所需要的所有信息,因此,我们的服务器不需要存储 JWT。这显然增加了系统的可用性和伸缩性,大大减轻了服务端的压力。
2、有效避免了 CSRF 攻击:CSRF 攻击需要依赖 Cookie。一般情况下我们使用 JWT 的话,在我们登录成功获得 JWT 之后,一般会选择存放在 localStorage 中。前端的每一个请求后续都会附带上这个 JWT,整个过程压根不会涉及到 Cookie。因此,即使你点击了非法链接发送了请求到服务端,这个非法请求也是不会携带 JWT 的,所以这个请求将是非法的。
3、适合移动端应用:只要 JWT 可以被客户端存储就能够使用。
4、单点登录友好:使用 Session 进行身份认证的话,实现单点登录,需要我们把用户的 Session 信息保存在一台电脑上,并且还会遇到常见的 Cookie 跨域的问题。但是,使用 JWT 进行认证的话, JWT 被保存在客户端,不会存在这些问题。
2、有效避免了 CSRF 攻击:CSRF 攻击需要依赖 Cookie。一般情况下我们使用 JWT 的话,在我们登录成功获得 JWT 之后,一般会选择存放在 localStorage 中。前端的每一个请求后续都会附带上这个 JWT,整个过程压根不会涉及到 Cookie。因此,即使你点击了非法链接发送了请求到服务端,这个非法请求也是不会携带 JWT 的,所以这个请求将是非法的。
3、适合移动端应用:只要 JWT 可以被客户端存储就能够使用。
4、单点登录友好:使用 Session 进行身份认证的话,实现单点登录,需要我们把用户的 Session 信息保存在一台电脑上,并且还会遇到常见的 Cookie 跨域的问题。但是,使用 JWT 进行认证的话, JWT 被保存在客户端,不会存在这些问题。
发布于:4个月前 (12-18) IP属地:四川省
我来回答
您需要 登录 后回答此问题!