Skip to content

Instantly share code, notes, and snippets.

@muhajirinlpu
Created May 18, 2023 04:49
Show Gist options
  • Save muhajirinlpu/867dec558e9f5fc920c782c12123e688 to your computer and use it in GitHub Desktop.
Save muhajirinlpu/867dec558e9f5fc920c782c12123e688 to your computer and use it in GitHub Desktop.
<?php
namespace App\Http\Routes;
use Dentro\Yalr\BaseRoute;
use Laravel\Passport\Http\Controllers\AccessTokenController;
use Laravel\Passport\Http\Controllers\ApproveAuthorizationController;
use Laravel\Passport\Http\Controllers\AuthorizationController;
use Laravel\Passport\Http\Controllers\AuthorizedAccessTokenController;
use Laravel\Passport\Http\Controllers\ClientController;
use Laravel\Passport\Http\Controllers\DenyAuthorizationController;
use Laravel\Passport\Http\Controllers\TransientTokenController;
class PassportRoute extends BaseRoute
{
protected string $name = 'passport';
/**
* Register routes handled by this class.
*
* @return void
*/
public function register(): void
{
$this->router->post('token', [
'uses' => $this->uses('issueToken', AccessTokenController::class),
'as' => $this->name('token'),
]);
$this->router->get('authorize', [
'uses' => $this->uses('authorize', AuthorizationController::class),
'as' => $this->name('authorizations.authorize'),
]);
$guard = config('passport.guard', null);
$this->router->middleware(['web', $guard ? 'auth:'.$guard : 'auth'])->group(function () {
$this->router->post('token/refresh', [
'uses' => $this->uses('refresh', TransientTokenController::class),
'as' => $this->name('token.refresh'),
]);
$this->router->post('authorize', [
'uses' => $this->uses('approve', ApproveAuthorizationController::class),
'as' => $this->name('authorizations.approve'),
]);
$this->router->delete('authorize', [
'uses' => $this->uses('deny', DenyAuthorizationController::class),
'as' => $this->name('authorizations.deny'),
]);
$this->router->get('tokens', [
'uses' => $this->uses('forUser', AuthorizedAccessTokenController::class),
'as' => $this->name('tokens.index'),
]);
$this->router->delete('tokens/{token_id}', [
'uses' => $this->uses('destroy', AuthorizedAccessTokenController::class),
'as' => $this->name('tokens.destroy'),
]);
$this->router->get('clients', [
'uses' => $this->uses('forUser', ClientController::class),
'as' => $this->name('clients.index'),
]);
$this->router->post('clients', [
'uses' => $this->uses('store', ClientController::class),
'as' => $this->name('clients.store'),
]);
$this->router->put('clients/{client_id}', [
'uses' => $this->uses('update', ClientController::class),
'as' => $this->name('clients.update'),
]);
$this->router->delete('clients/{client_id}', [
'uses' => $this->uses('destroy', ClientController::class),
'as' => $this->name('clients.destroy'),
]);
});
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment