laravel 配置 dingo/api + jwt-auth

环境

  • homestead 7.2
  • laravel 5.8

文档

  • dingo/api: https://learnku.com/docs/dingo-api/2.0.0/Installation/1443
  • jwt-auth: https://jwt-auth.readthedocs.io/en/docs/laravel-installation/

安装 dingo/api 和 jwt-auth

composer require dingo/api
composer require "tymon/jwt-auth:1.0.0-rc.4.1"

发布配置文件 && 生成秘钥

--all 是发布所有配置文件的意思
jwt:secret 是生成 jwt 秘钥用的

php artisan vendor:publish --all
php artisan jwt:secret

.env 文件中加入以下配置

# dingo/api config
API_STANDARDS_TREE=vnd
API_SUBTYPE=myapi
API_PREFIX=api
API_VERSION=v1
API_NAME="My API"
API_CONDITIONAL_REQUEST=false
API_STRICT=false
API_DEFAULT_FORMAT=json
API_DEBUG=true

## jwt-auth secret key
JWT_SECRET=BCSToylCt2jIIuKNfkdzTkYoqpLMETgAv6JGWFA6kePyzGN9M2iRsZj1k1Z2uLiJ

测试服务

  • 找到 /routes/api.php 创建端点
  • 添加测试路由并测试
  • 浏览器访问 http://yourhost/api/hello
$api = app('Dingo\Api\Routing\Router');
$api->version('v1', function ($api) {
    $api->get('/', function () {
        return 'hello dingo api';
    });
});

dingo/api 结合 jwt-auth 完成 api 认证

  • 找到 /coinfig/api.php 修改 auth 代码
'auth' => [
    'jwt' => function ($app) {
        return new \Dingo\Api\Auth\Provider\JWT($app['Tymon\JWTAuth\JWTAuth']);
    },
],

jwt-auth 和具体配置

  • https://segmentfault.com/a/1190000012606246

你可能感兴趣的:(laravel 配置 dingo/api + jwt-auth)