您当前的位置: 首页 >  ar

知其黑、受其白

暂无认证

  • 4浏览

    0关注

    1250博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

laravel使用firebase/php-jwt token验证

知其黑、受其白 发布时间:2021-03-17 18:18:53 ,浏览量:4

JWT介绍:

全称JSON Web Token,基于JSON的开放标准((RFC 7519) ,以token的方式代替传统的Cookie-Session模式,用于各服务器、客户端传递信息签名验证。

JWT优点:

1:服务端不需要保存传统会话信息,没有跨域传输问题,减小服务器开销。 2:jwt构成简单,占用很少的字节,便于传输。 3:json格式通用,不同语言之间都可以使用。

JWT组成

jwt由三部分组成:

头部(header) 载荷(payload) 包含一些定义信息和自定义信息 签证(signature)

1:具体构成:header
{
  "typ": "JWT", //声明类型为jwt
  "alg": "HS256" //声明签名算法为SHA256
}
2:具体构成: 载荷(payload)
{
  "iss": "http://www.helloweba.net",
  "aud": "http://www.helloweba.net",
  "iat": 1525317601,
  "nbf": 1525318201,
  "exp": 1525318201,
  "data": {
    "userid": 1,
    "username": "李小龙"
  }
}

载荷包括两部分:标准声明和其他声明。

标准声明:JWT标准规定的声明,但不是必须填写的;

标准声明字段:

接收该JWT的一方

iss: jwt签发者

sub: jwt所面向的用户

aud: 接收jwt的一方

exp: jwt的过期时间,过期时间必须要大于签发时间

nbf: 定义在什么时间之前,某个时间点后才能访问

iat: jwt的签发时间

jti: jwt的唯一身份标识,主要用来作为一次性token。

其他声明:

自己定义的字段,因为这部分是可以解开的,建议不要加入敏感信息,这里的data就是我自己定义的声明

最终是这样的:

在这里插入图片描述 三部分分别以逗号隔开

四:使用:PHP有很多jwt包,包括比如:lcobucci/jwt,我这里使用firebase。可以从 git地址 下载

实例应用 1 安装

composer require firebase/php-jwt

2 服务端签发Token
            
关注
打赏
1665558895
查看更多评论
0.0510s