Upgrade framework
This commit is contained in:
137
vendor/laravel/sanctum/src/SanctumServiceProvider.php
vendored
Normal file
137
vendor/laravel/sanctum/src/SanctumServiceProvider.php
vendored
Normal file
@@ -0,0 +1,137 @@
|
||||
<?php
|
||||
|
||||
namespace Laravel\Sanctum;
|
||||
|
||||
use Illuminate\Auth\RequestGuard;
|
||||
use Illuminate\Contracts\Http\Kernel;
|
||||
use Illuminate\Support\Facades\Auth;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Illuminate\Support\ServiceProvider;
|
||||
use Laravel\Sanctum\Console\Commands\PruneExpired;
|
||||
use Laravel\Sanctum\Http\Controllers\CsrfCookieController;
|
||||
use Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful;
|
||||
|
||||
class SanctumServiceProvider extends ServiceProvider
|
||||
{
|
||||
/**
|
||||
* Register any application services.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function register()
|
||||
{
|
||||
config([
|
||||
'auth.guards.sanctum' => array_merge([
|
||||
'driver' => 'sanctum',
|
||||
'provider' => null,
|
||||
], config('auth.guards.sanctum', [])),
|
||||
]);
|
||||
|
||||
if (! app()->configurationIsCached()) {
|
||||
$this->mergeConfigFrom(__DIR__.'/../config/sanctum.php', 'sanctum');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Bootstrap any application services.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function boot()
|
||||
{
|
||||
if (app()->runningInConsole()) {
|
||||
$this->registerMigrations();
|
||||
|
||||
$this->publishes([
|
||||
__DIR__.'/../database/migrations' => database_path('migrations'),
|
||||
], 'sanctum-migrations');
|
||||
|
||||
$this->publishes([
|
||||
__DIR__.'/../config/sanctum.php' => config_path('sanctum.php'),
|
||||
], 'sanctum-config');
|
||||
|
||||
$this->commands([
|
||||
PruneExpired::class,
|
||||
]);
|
||||
}
|
||||
|
||||
$this->defineRoutes();
|
||||
$this->configureGuard();
|
||||
$this->configureMiddleware();
|
||||
}
|
||||
|
||||
/**
|
||||
* Register Sanctum's migration files.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function registerMigrations()
|
||||
{
|
||||
if (Sanctum::shouldRunMigrations()) {
|
||||
return $this->loadMigrationsFrom(__DIR__.'/../database/migrations');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Define the Sanctum routes.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function defineRoutes()
|
||||
{
|
||||
if (app()->routesAreCached() || config('sanctum.routes') === false) {
|
||||
return;
|
||||
}
|
||||
|
||||
Route::group(['prefix' => config('sanctum.prefix', 'sanctum')], function () {
|
||||
Route::get(
|
||||
'/csrf-cookie',
|
||||
CsrfCookieController::class.'@show'
|
||||
)->middleware('web')->name('sanctum.csrf-cookie');
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Configure the Sanctum authentication guard.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function configureGuard()
|
||||
{
|
||||
Auth::resolved(function ($auth) {
|
||||
$auth->extend('sanctum', function ($app, $name, array $config) use ($auth) {
|
||||
return tap($this->createGuard($auth, $config), function ($guard) {
|
||||
app()->refresh('request', $guard, 'setRequest');
|
||||
});
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Register the guard.
|
||||
*
|
||||
* @param \Illuminate\Contracts\Auth\Factory $auth
|
||||
* @param array $config
|
||||
* @return RequestGuard
|
||||
*/
|
||||
protected function createGuard($auth, $config)
|
||||
{
|
||||
return new RequestGuard(
|
||||
new Guard($auth, config('sanctum.expiration'), $config['provider']),
|
||||
request(),
|
||||
$auth->createUserProvider($config['provider'] ?? null)
|
||||
);
|
||||
}
|
||||
|
||||
/**
|
||||
* Configure the Sanctum middleware and priority.
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
protected function configureMiddleware()
|
||||
{
|
||||
$kernel = app()->make(Kernel::class);
|
||||
|
||||
$kernel->prependToMiddlewarePriority(EnsureFrontendRequestsAreStateful::class);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user