Spring Boot(十三):集成 JWT 设计 API 接口安全服务
JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案,本文来认识下 JWT 并通过实践将其集成到 Spring Boot 项目中完成 API 接口安全服务的设计。认识 JWT
https://img-blog.csdnimg.cn/img_convert/03901c52af8bf4b431567941a7fb0bc7.jpeg
跨域认证的问题
互联网服务离不开用户认证,而谈及用户认证就避免不了谈谈基于 Session 认证的方式了。
这种模式的问题在于,扩展性不好。单机当然没有问题,如果是服务器集群,大概是跨域的服务导向架构,就要求 session 数据共享,每台服务器都可以或许读取 session。
基于 session 认证所表现的问题:
[*]Session: 每个用户经过我们的应用认证之后,我们的应用都要在服务端做一次记录,以方便用户下次请求的鉴别,通常而言 session 都是保存在内存中,而随着认证用户的增多,服务端的开销会明显增大。
[*]扩展性: 用户认证之后,服务端做认证记录,如果认证的记录被保存在内存中的话,这意味着用户下次请求还必须要请求在这台服务器上,这样才能拿到授权的资源,这样在分布式的应用上,相应的限定了负载均衡器的能力。这也意味着限定了应用的扩展能力。
[*]CSRF: 由于是基于 cookie 来举行用户识别的,cookie 如果被截获,用户就会很容易受到跨站请求伪造 (CSRF) 的攻击。
页:
[1]