Spring Boot(十三):集成 JWT 设计 API 接口安全服务

打印 上一主题 下一主题

主题 866|帖子 866|积分 2598

JSON Web Token(缩写 JWT)是目前最流行的跨域认证解决方案,本文来认识下 JWT 并通过实践将其集成到 Spring Boot 项目中完成 API 接口安全服务的设计。
认识 JWT


跨域认证的问题

互联网服务离不开用户认证,而谈及用户认证就避免不了谈谈基于 Session 认证的方式了。
这种模式的问题在于,扩展性不好。单机当然没有问题,如果是服务器集群,大概是跨域的服务导向架构,就要求 session 数据共享,每台服务器都可以或许读取 session。
基于 session 认证所表现的问题


  • Session: 每个用户经过我们的应用认证之后,我们的应用都要在服务端做一次记录,以方便用户下次请求的鉴别,通常而言 session 都是保存在内存中,而随着认证用户的增多,服务端的开销会明显增大。
  • 扩展性: 用户认证之后,服务端做认证记录,如果认证的记录被保存在内存中的话,这意味着用户下次请求还必须要请求在这台服务器上,这样才能拿到授权的资源,这样在分布式的应用上,相应的限定了负载均衡器的能力。这也意味着限定了应用的扩展能力。
  • CSRF: 由于是基于 cookie 来举行用户识别的,cookie 如果被截获,用户就会很容易受到跨站请求伪造 (CSRF) 的攻击。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

正序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

欢乐狗

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表