khsing/laravel-restapi

用Laravel快速设置RESTful API项目,邪恶一点!;-)

v5.5.1 2017-12-14 03:44 UTC

This package is auto-updated.

Last update: 2024-09-08 14:45:57 UTC


README

简介

此包使OAuth2.0客户端凭证能够分配用户。

特性

  • 支持Hashids加密真实ID的客户端ID。

安装

  • 需要此包
composer require khsing/laravel-restapi
  • 修改config/app.php,添加以下行到providers
Khsing\Restapi\OAuth2ServiceProvider::class,
Khsing\Restapi\RestapiServiceProvider::class,
  • 执行php artisan migrate

  • 执行php artisan vendor:publish

  • 需要遵循laravel/passport设置

从Laravel 5.5 LTS开始,passport会指定路由注册,可以在app/Providers/AuthServiceProvider.php中自定义

Passport::routes(function ($router) {
    $router->forAccessTokens();
    $router->forTransientTokens();
});

配置

支持以下配置选项。

  • enable_hashids,布尔值,true/false
  • hashids_salt,hashids的盐,需要替换为您的。
  • hashids_length,hashids的长度
  • hashids_alphabet,hashids的字母表

使用方法

  • 创建客户端应用ID和密钥。
php artisan passport:client

填写用户ID、客户端名称并获取客户端密钥。

  • 修改routes/api.php
Route::get('/user', function (Request $request) {
    return $request->user();
})->middleware('auth:api');

现在,访问/api/user将获取用户信息。

顺便说一句,Postman是一款很棒的工具。最棒的部分是它是免费的。

与Dingo/api集成

  • 安装dingo/api,composer require dingo/api:2.0.0-alpha1
  • 将dingo添加到providersDingo\Api\Provider\LaravelServiceProvider::class,
  • php artisan vendor:publish
  • 修改app/Http/Kernel.php,添加以下行
    protected $middlewareGroups = [
        ...
        'api:auth' => [
            'auth:api',
            'api.auth',
        ],
    ]
  • 修改config/api.php的认证部分
    'auth' => [
        'restapi' => \Khsing\Restapi\DingoAuthServiceProvider::class,
    ]
  • dingo/api的示例,在routes/api.php中具有相同的功能
$api = app('Dingo\Api\Routing\Router');
$api->version('v1', ['middleware' => 'api:auth'], function ($api) {
    $api->get('user', function (Request $request) {
        return $request->user();
    });
});

许可证

此库遵循MIT许可证,请保留许可证文件。

联系方式

Guixing