jwt

JWT
常见的认证机制
1.HTTP Basic Auth
每次请求api的时候都提供用户的username和password
2.cookie auth
为一次请求认证在服务端创建一个session对象,同时在客户端的浏览器端创建了一个cookie对象,通过客户端带上来cookie对象来与服务器端的session对象匹配来实现状态管理。
3.oauth
允许用户让第三方应用访问该用户在某一web服务上存储的私密的资源,而无需将用户名和密码提供给第三方应用
4.Token oauth
客户端使用用户名跟密码请求登录
服务端受到请求,去验证用户名与密码
验证成功后,服务端会签发一个token,再把这个token发送给客户端
客户端受到token以后可以把它存储起来
客户端每次向服务端请求资源的时候需要带着服务端签发的token
服务端收到请求,然后去验证客户端请求里面带着的token如果验证成功,就向客户端返回请求的数据

JWT优点:
1.jwt基于json,方便解析
2.可以在令牌中自定义丰富的内容,易扩展
3.安全性高
4.资源服务使用jwt可不依赖认证服务既可以完成授权

缺点:
令牌较长,占存储空间比较大

组成:
jwt实际上就是一个字符串,它由三部分组成,头部,载荷和签名
头部用于描述关于该jwt的最基本的信息。
在这里插入图片描述
负载:就是存放有效信息的地方。
有效信息包含三个部分
1.标准中注册的声明
2.公共的声明
3.私有的声明

签名:
创建签名需要使用编码后的header和payload以及一个密钥,使用header中指定签名算法进行签名

JWT的工作流程
在这里插入图片描述
1.用户携带username和password请登录
2.服务器验证登录验证,如果验证成功,根据用户的信息和服务器的规则生成JWT Token
3.服务器将该token返回
4.用户得到token,存在localStorage、cookie或其它数据存储形式中。
5.以后用户请求服务器时,在请求的header中加入 Authorization: Bearer xxxx(token) 。此处注意token之前有一个7字符长度的“Bearer “,服务器端对此token进行检验,如果合法就解析其中内容,根据其拥有的权限和业务逻辑反回响应结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值