Laravel as API server
跳到导航
跳到搜索
安装并初始化项目
composer create-project --prefer-dist laravel/laravel project_name "5.5.*"
cd project_name
git init
git add .
git commit -m "Initial project"
创建数据库
配置项目: 编辑 .env 文件
安装 passport
安装
composer require laravel/passport=~4.0
php artisan migrate
php artisan passport:install
修改 App\User.php, 添加 Laravel\Passport\HasApiTokens trait :
<?php
namespace App;
use Laravel\Passport\HasApiTokens;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use HasApiTokens, Notifiable;
}
修改 App\Providers\AuthServiceProvider, 在boot()方法中添加 Passport::routes(), 该方法将注册发布访问令牌所需的路由:
public function boot()
{
$this->registerPolicies();
Passport::routes();
//
}
修改 config/auth.php, 将API认证的driver 修改为 passport:
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'passport',
'provider' => 'users',
],
],
配置Passport
设置token的过期时间和刷新时间: 编辑App\Providers\AuthServiceProvider
public function boot()
{
$this->registerPolicies();
Passport::routes();
Passport::tokensExpireIn(now()->addDays(15));
Passport::refreshTokensExpireIn(now()->addDays(30));
}