laravel-restapi
Intro
This package make OAuth2.0 client credentials able to assign User., (*1)
Feature
- client ID support Hashids to encrypt real ID.
Installation
composer require khsing/laravel-restapi
- modify
config/app.php, add it providers with following lines
Khsing\Restapi\OAuth2ServiceProvider::class,
Khsing\Restapi\RestapiServiceProvider::class,
- execute
php artisan migrate
-
execute php artisan vendor:publish, (*2)
-
Need follow laravel/passport setup, (*3)
Since Laravel 5.5 LTS, passport would specific route register, can custom in app/Providers/AuthServiceProvider.php, (*4)
Passport::routes(function ($router) {
$router->forAccessTokens();
$router->forTransientTokens();
});
Configuare
Support following configure options., (*5)
-
enable_hashids, boolean, true/false
-
hashids_salt, salt of hashids, NEED REPLACE WITH YOURS.
-
hashids_length, length of hashids
-
hashids_alphabet, alphabet of hashids
Usage
- create a client app id and secret.
php artisan passport:client
fill user id, client name and get client secret., (*6)
Route::get('/user', function (Request $request) {
return $request->user();
})->middleware('auth:api');
Now, access /api/user will get user's infomation., (*7)
btw. Postman is great tools. And the most great part is it's free., (*8)
Intergrate with Dingo/api
- install dingo/api,
composer require dingo/api:2.0.0-alpha1
- add dingo to
providers, Dingo\Api\Provider\LaravelServiceProvider::class,
php artisan vendor:publish
- modify
app/Http/Kernel.php with following lines
protected $middlewareGroups = [
...
'api:auth' => [
'auth:api',
'api.auth',
],
]
- modify
config/api.php auth part
'auth' => [
'restapi' => \Khsing\Restapi\DingoAuthServiceProvider::class,
]
- example of dingo/api, in
routes/api.php same function
$api = app('Dingo\Api\Routing\Router');
$api->version('v1', ['middleware' => 'api:auth'], function ($api) {
$api->get('user', function (Request $request) {
return $request->user();
});
});
License
This library following MIT License, please keep License file., (*9)
Guixing:, (*10)