问题描述:
现在分布式微服务的逐渐使用广泛,前后端分离已经成为互联网项目开发标准,它会为以后的大型分布式架构打下基础。为以后服务的横向扩展提供了方便
JSON Web Tokens(JWT)能提供基于JSON格式的安全认证。JWT可以跨不同语言,自带身份信息,并且非常容易传递。
JWT即JSON WEB TOKEN的缩写,轻量级的令牌认证(相比于oauth),可用于数据交换间的安全传输,同时可使用公钥/私钥的非对称算法对信息进行数字签名,如RS256算法。
它由3部分组成:
- Header 头信息
- Payload 荷载信息,实际数据;一个token的第二个部分是荷载信息,它包含一些声明Claim(实体的描述,通常是一个User信息,还包括一些其他的元数据)
- Signature 由头信息+荷载信息+密钥 组合之后进行加密得到,使用header中指定的算法将编码后的header、编码后的payload、一个secret进行加密
使用场景: