完善排版
lanffff
6年前
修改理由:
此投稿已在 6年前 合并。
内容修改:
| Old | New | Differences |
|---|---|---|
| 1 | ||
| 1 | ** 因为下一个项目要用TP5开发一个小程序,所以就使用到了,TP框架,因为小程序开发需要后台来编写api接口,所以就上网查了一下有没有相关的依赖,在此推荐一下think-api扩展工具,因为主要想使用其中的jwt功能来判断小程序用户的登录状态,下面就以本人的项目为例,简单和大家聊一下,通过think-api来部署JWT。 | |
| 2 | 2 | 1.安装依赖 |
| 3 | 3 | 本人使用的TP版本是TP5.1,扩展下载地址:https://github.com/czewail/think-api ,通过composer安装依赖。 |
| 4 | 4 | `composer require zewail/think-api:1.1.x` |
| 5 | 5 | 2.配置说明 |
| 6 | 6 | 通过composer安装完毕后,咱们可以在 vendor/think-api/config/jwt.php文件中查看jwt的配置,主要是用户模型路径那块,需要修改一下。 |
| 7 | | |
| 7 | ```return [ | |
| 8 | 8 | // 加密算法 |
| 9 | 9 | 'algorithm' => 'HS256', |
| 10 | 10 | // HMAC算法使用的加密字符串 | … | … |
| 19 | 19 | 'ttl' => 120, |
| 20 | 20 | // 用户模型路径 |
| 21 | 21 | 'user' => app\api\model\User::class, |
| 22 | ]; | |
| 22 | ]; ``` | |
| 23 | 23 | 3.创建API接口控制器 |
| 24 | 24 | 通过命令行创建我们想要反回Token给前端的控制器 |
| 25 | 25 | `php thnk make:controller api/Index` | … | … |
| 27 | 27 | 在创建的文件头添加文件路径: |
| 28 | 28 | `use Zewail\Api\Facades\JWT;` |
| 29 | 29 | 案例代码如下: |
| 30 | | |
| 30 | ```public function index(){ | |
| 31 | 31 | //获取前台发送过来的登录信息 |
| 32 | 32 | $tel = $this->request->tel; |
| 33 | 33 | $password = $this->request->passwword; | … | … |
| 41 | 41 | $msg = "验证成功"; |
| 42 | 42 | //把token发送给前台确认是否成功登陆 |
| 43 | 43 | return $this->ApiSuccess($token, $msg); |
| 44 | } | |
| 44 | } ``` | |
| 45 | 45 | 有一点需要注意因为API离默认的接收参数是mobile和password。上门的例子中是tel和password。更改了变量名称,所以我们需要在用户模型中接入一下代码来说明。以此类推。 |
| 46 | 46 | `public $jwtSub = 'tel';` |
| 47 | 47 | 5.配置路由 | … | … |
| 58 | 58 |  |
| 59 | 59 | |
| 60 | 60 | 之后携带头部访问验证路由,验证代码如下: |
| 61 | ` | |
| 61 | ``` if ($user = JWT::authenticate()) { | |
| 62 | 62 | return true; |
| 63 | } | |
| 63 | } ``` | |
| 64 | 64 | 如果验证无误就会返回true。 |
关于 LearnKu