php jwt 详解

header.poyload.sign

1
$ composer require firebase/php-jwt

JWT 由三部分组成。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.
eyJzdWIiOiIxMjM0NTY3ODkwIiwibmFtZSI6IkpvaG4gRG9lIiwiaWF0IjoxNTE2MjM5MDIyfQ.
SflKxwRJSMeKKF2QT4fwpMeJf36POk6yJV_adQssw5c

{
"alg": "HS256",
"typ": "JWT"
}

{
"sub": "1234567890",
"name": "John Doe",
"iat": 1516239022
}


  1. 用户输入 username、password 登录。

  2. 服务器验证 username password

  3. 获取用户信息,生成 token,返回 token

  4. token 存入 cookie

认证过程

  1. 请求头中加入 Authorization: Bearer YOUR_JWT

  2. 服务器解密 token

  3. 验证过期时间,验证权限

  4. 返回结果