SpringBoot整合JWT Token
在文章之前,我们先介绍几个概念 OAuth2、JWT,Spring Security、Spring Security OAuth2 OAuth2 :Open Authorization,是一种授权协议, 是规范,不是技术实现。 JWT :JSON Web Token,是一种具体的Token实现框架。 Spring Security :前身是 Acegi Security ,能够为 Spring企业应用系统提供声明式的安全访问控制。该框架老古董了。 Spring Security OAuth2 :Spring 对 OAuth2 开源实现(与Spring Cloud技术栈无缝集成)。 目前用的最多是JWT,因此本文也是围绕JWT来实现。 1.什么是JWT JWT的原则是在服务器身份验证之后,将生成一个JSON对象并将其发送回用户。当用户与服务器通信时,客户在请求中发回JSON对象。服务器仅依赖于这个JSON对象来标识用户。 2.JWT的组成 JWT TOKEN分为三部分:header . payload . signature,因此JWT通常如下表示xxx.yyyyy.zz 2.1header 头部包含了两部分,token 类型和采用的加密算法。 alg 字段指定了生成signature的算法,默认值为HS256, typ 默认值为JWT。 如果你使用Node.js,可以用Node