从头搭架构SpringCloud(六):权限认证spring security + oauth2 +jwt之jwt及jwt加密

JWT,全称是Json Web Token,是JSON风格轻量级的授权和身份认证规范,可实现无状态、分布式的Web应用授权;

JWT的token包含三部分数据:

  1. Header:头部,JWT 头描述了 JWT 元数据,是一个 JSON 对象通常头部有两部分信息,它的格式如下:
    • 声明类型,这里是JWT
    • 加密算法,自定义
 json{
   “alg”:“HS256”,“typ”:“JWT”}
  alg 属性表示签名所使用的算法,JWT 签名默认的算法为 HMAC SHA256 , alg 属性值 HS256 就是 HMAC SHA256 算法。
  typ 属性表示令牌类型,这里就是 JWT。
  1. Payload:有效载荷是 JWT 的主体,同样也是个 JSON 对象。有效载荷包含三个部分:
1.标准注册声明
标准注册声明不是强制使用是的,但是我建议使用。它一般包括以下内容:
iss:jwt的签发者/发行人;
sub:主题;
aud:接收方;
exp:jwt过期时间;
nbf:jwt生效时间;
iat:签发时间
jti:jwt唯一身份标识,可以避免重放攻击
2.公共声明:
可以在公共声明添加任何信息,我们一般会在里面添加用户信息和业务信息,但是不建议添加敏感信息,因为公共声明部分可以在客户端解密。
3.私有声明:
私有声明是服务器和客户端共同定义的声明,同样这里不建议添加敏感信息。
  1. Signature:签名,是整个数据的认证信息。一般根据前两步的数据, 再加上服务的的密钥(secret)
    (不要泄漏,最好周期性更换),通过加密算法生成。用于验证整个数据完整和可靠性(不要泄漏,最好周期性更换),
    通过加密算法生成。用于验证整个数据完整和可靠性

JWT 注意事项

JWT 默认不加密,如果要写入敏感信息必须加密,可以用生成的原始令牌再次对内容进行加密;
JWT 无法使服务器保存会话状态,当令牌生成后在有效期内无法取消也不能更改;
JWT 包含认证信息,如果泄露了,任何人都可以获得令牌所有的权限;因此 JWT 有效期不能太长,对于重要操作每次请求都必须进行身份验证。

加密方式

  • 对称加密,如AES

基本原理:将明文分成N个组,然后使用密钥对各个组进行加密,形成各自的密文,最后把所有的分组密文进行合并,形成最终的密文。
优势:算法公开

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Spring Boot是一个用于构建独立的、生产级别的基于Spring的应用程序的框架,而Spring SecuritySpring的一个强大的安全框架,用于身份验证和授权。OAuth2是一种用于授权的开放标准,JWT是一种用于在用户和服务器之间传递安全信息的开放标准。这些技术的整合可以帮助我们构建一个完善的认证服务器,网关和微服务之间的权限认证系统。 首先,我们可以使用Spring Boot整合Spring Security来构建认证服务器。通过Spring Security提供的各种认证和授权功能,我们可以实现用户的身份验证和授权管理。然后,结合OAuth2的开放标准,我们可以实现用户的授权码、密码、客户端凭证和刷新令牌等授权方式,从而提高系统的安全性和灵活性。 接着,我们可以利用Spring Boot建网关来统一管理微服务之间的访问权限。通过网关,我们可以对各个微服务进行统一的权限验证和访问控制,从而实现统一的安全管理和监控。 最后,我们可以在微服务中集成JWT来实现基于令牌的安全验证。JWT可以帮助我们在客户端和服务器之间传递安全信息,并通过签名和加密保障信息的安全性。 总之,通过Spring Boot整合Spring SecurityOAuth2和JWT,我们可以构建一个完善的认证服务器、网关和微服务之间的权限认证系统,从而实现系统的安全可靠和权限灵活控制。这将有助于我们构建高效、安全的微服务架构,并为用户提供更加可靠的服务。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值