- ######lumen+dingo+jwt 环境 mac+mamp
- #####1,新建 首先保证php环境最新7.2.10
composer create-project --prefer-dist laravel/lumen xxx-api
- #####2,安装dingo , 修改 composer.json 文件并且运行 composer update
"require": {"dingo/api": "2.0.0-alpha1"
}
- #####3 .搭建mac 下 php nginx服务
–1,在mamp nginx conf 下添加server ,
–2.下改mamp界面设置
–3,访问 www.xxx.com:7888 即可成功~
这里又一个坑,环境配置好后,我手动修改的 /Application/MAMP 文件下的 nginx.conf文件,但是目录除了路由“/”其他路由都报404,后来搞了半天才发现是路由重写问题引起的,随后在mamp的nginx配置下加上一句 $uri $uri/ /index.php?$query_string; 就好了
-
#####4. 配置–lumen bootstrap/app.php
lumen框架下注册dingo服务提供者,并打开其他几个服务注释项
$app->register(Dingo\Api\Provider\LumenServiceProvider::class);
-
#####5. routes 下创建 app.php
为了方便路由管理,分web和app两个文件,
创建好后在/brootstrap/app.php文件下加上$app->router->group(['namespace' => 'App\Http\Controllers',
], function ($router) {require __DIR__.'/../routes/web.php';require __DIR__.'/../routes/app.php';
});这里需要注意,使用$api = app('Dingo\Api\Routing\Router');
的路由,访问要加上.env配置的api前缀,不使用dingo的路由不用加
- #####6. 安装jwt
composer.json中加入"tymon/jwt-auth": "1.0.0-rc.3" --composer update
- 注册 jwt 服务
$app->register(Tymon\JWTAuth\Providers\LumenServiceProvider::class);
- 生成jwt scret 生成加密密钥
php artisan jwt:secret
- 生成config配置文件
#####laravel下使用jwt生成config文件是这个命令,而lumen只能自己手动创建!包括生成controller,model,lumen的artisan没有对应的命令,只能手动生成
php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"
lumen就无视这条命令
- 手动创建 /config/jwt.php /config/auth.php
oauth2.0 认证
…