Базовая версия клиента авторизации по протоколу OAuth2
This commit is contained in:
		
							
								
								
									
										40
									
								
								app/Http/Controllers/Auth/ConfirmPasswordController.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								app/Http/Controllers/Auth/ConfirmPasswordController.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,40 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Http\Controllers\Auth;
 | 
			
		||||
 | 
			
		||||
use App\Http\Controllers\Controller;
 | 
			
		||||
use App\Providers\RouteServiceProvider;
 | 
			
		||||
use Illuminate\Foundation\Auth\ConfirmsPasswords;
 | 
			
		||||
 | 
			
		||||
class ConfirmPasswordController extends Controller
 | 
			
		||||
{
 | 
			
		||||
    /*
 | 
			
		||||
    |--------------------------------------------------------------------------
 | 
			
		||||
    | Confirm Password Controller
 | 
			
		||||
    |--------------------------------------------------------------------------
 | 
			
		||||
    |
 | 
			
		||||
    | This controller is responsible for handling password confirmations and
 | 
			
		||||
    | uses a simple trait to include the behavior. You're free to explore
 | 
			
		||||
    | this trait and override any functions that require customization.
 | 
			
		||||
    |
 | 
			
		||||
    */
 | 
			
		||||
 | 
			
		||||
    use ConfirmsPasswords;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Where to redirect users when the intended url fails.
 | 
			
		||||
     *
 | 
			
		||||
     * @var string
 | 
			
		||||
     */
 | 
			
		||||
    protected $redirectTo = RouteServiceProvider::HOME;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Create a new controller instance.
 | 
			
		||||
     *
 | 
			
		||||
     * @return void
 | 
			
		||||
     */
 | 
			
		||||
    public function __construct()
 | 
			
		||||
    {
 | 
			
		||||
        $this->middleware('auth');
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										22
									
								
								app/Http/Controllers/Auth/ForgotPasswordController.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										22
									
								
								app/Http/Controllers/Auth/ForgotPasswordController.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,22 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Http\Controllers\Auth;
 | 
			
		||||
 | 
			
		||||
use App\Http\Controllers\Controller;
 | 
			
		||||
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
 | 
			
		||||
 | 
			
		||||
class ForgotPasswordController extends Controller
 | 
			
		||||
{
 | 
			
		||||
    /*
 | 
			
		||||
    |--------------------------------------------------------------------------
 | 
			
		||||
    | Password Reset Controller
 | 
			
		||||
    |--------------------------------------------------------------------------
 | 
			
		||||
    |
 | 
			
		||||
    | This controller is responsible for handling password reset emails and
 | 
			
		||||
    | includes a trait which assists in sending these notifications from
 | 
			
		||||
    | your application to your users. Feel free to explore this trait.
 | 
			
		||||
    |
 | 
			
		||||
    */
 | 
			
		||||
 | 
			
		||||
    use SendsPasswordResetEmails;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										40
									
								
								app/Http/Controllers/Auth/LoginController.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								app/Http/Controllers/Auth/LoginController.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,40 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Http\Controllers\Auth;
 | 
			
		||||
 | 
			
		||||
use App\Http\Controllers\Controller;
 | 
			
		||||
use App\Providers\RouteServiceProvider;
 | 
			
		||||
use Illuminate\Foundation\Auth\AuthenticatesUsers;
 | 
			
		||||
 | 
			
		||||
class LoginController extends Controller
 | 
			
		||||
{
 | 
			
		||||
    /*
 | 
			
		||||
    |--------------------------------------------------------------------------
 | 
			
		||||
    | Login Controller
 | 
			
		||||
    |--------------------------------------------------------------------------
 | 
			
		||||
    |
 | 
			
		||||
    | This controller handles authenticating users for the application and
 | 
			
		||||
    | redirecting them to your home screen. The controller uses a trait
 | 
			
		||||
    | to conveniently provide its functionality to your applications.
 | 
			
		||||
    |
 | 
			
		||||
    */
 | 
			
		||||
 | 
			
		||||
    use AuthenticatesUsers;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Where to redirect users after login.
 | 
			
		||||
     *
 | 
			
		||||
     * @var string
 | 
			
		||||
     */
 | 
			
		||||
    protected $redirectTo = RouteServiceProvider::HOME;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Create a new controller instance.
 | 
			
		||||
     *
 | 
			
		||||
     * @return void
 | 
			
		||||
     */
 | 
			
		||||
    public function __construct()
 | 
			
		||||
    {
 | 
			
		||||
        $this->middleware('guest')->except('logout');
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										73
									
								
								app/Http/Controllers/Auth/RegisterController.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										73
									
								
								app/Http/Controllers/Auth/RegisterController.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,73 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Http\Controllers\Auth;
 | 
			
		||||
 | 
			
		||||
use App\Http\Controllers\Controller;
 | 
			
		||||
use App\Providers\RouteServiceProvider;
 | 
			
		||||
use App\User;
 | 
			
		||||
use Illuminate\Foundation\Auth\RegistersUsers;
 | 
			
		||||
use Illuminate\Support\Facades\Hash;
 | 
			
		||||
use Illuminate\Support\Facades\Validator;
 | 
			
		||||
 | 
			
		||||
class RegisterController extends Controller
 | 
			
		||||
{
 | 
			
		||||
    /*
 | 
			
		||||
    |--------------------------------------------------------------------------
 | 
			
		||||
    | Register Controller
 | 
			
		||||
    |--------------------------------------------------------------------------
 | 
			
		||||
    |
 | 
			
		||||
    | This controller handles the registration of new users as well as their
 | 
			
		||||
    | validation and creation. By default this controller uses a trait to
 | 
			
		||||
    | provide this functionality without requiring any additional code.
 | 
			
		||||
    |
 | 
			
		||||
    */
 | 
			
		||||
 | 
			
		||||
    use RegistersUsers;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Where to redirect users after registration.
 | 
			
		||||
     *
 | 
			
		||||
     * @var string
 | 
			
		||||
     */
 | 
			
		||||
    protected $redirectTo = RouteServiceProvider::HOME;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Create a new controller instance.
 | 
			
		||||
     *
 | 
			
		||||
     * @return void
 | 
			
		||||
     */
 | 
			
		||||
    public function __construct()
 | 
			
		||||
    {
 | 
			
		||||
        $this->middleware('guest');
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Get a validator for an incoming registration request.
 | 
			
		||||
     *
 | 
			
		||||
     * @param  array  $data
 | 
			
		||||
     * @return \Illuminate\Contracts\Validation\Validator
 | 
			
		||||
     */
 | 
			
		||||
    protected function validator(array $data)
 | 
			
		||||
    {
 | 
			
		||||
        return Validator::make($data, [
 | 
			
		||||
            'name' => ['required', 'string', 'max:255'],
 | 
			
		||||
            'email' => ['required', 'string', 'email', 'max:255', 'unique:users'],
 | 
			
		||||
            'password' => ['required', 'string', 'min:8', 'confirmed'],
 | 
			
		||||
        ]);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Create a new user instance after a valid registration.
 | 
			
		||||
     *
 | 
			
		||||
     * @param  array  $data
 | 
			
		||||
     * @return \App\User
 | 
			
		||||
     */
 | 
			
		||||
    protected function create(array $data)
 | 
			
		||||
    {
 | 
			
		||||
        return User::create([
 | 
			
		||||
            'name' => $data['name'],
 | 
			
		||||
            'email' => $data['email'],
 | 
			
		||||
            'password' => Hash::make($data['password']),
 | 
			
		||||
        ]);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										30
									
								
								app/Http/Controllers/Auth/ResetPasswordController.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								app/Http/Controllers/Auth/ResetPasswordController.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,30 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Http\Controllers\Auth;
 | 
			
		||||
 | 
			
		||||
use App\Http\Controllers\Controller;
 | 
			
		||||
use App\Providers\RouteServiceProvider;
 | 
			
		||||
use Illuminate\Foundation\Auth\ResetsPasswords;
 | 
			
		||||
 | 
			
		||||
class ResetPasswordController extends Controller
 | 
			
		||||
{
 | 
			
		||||
    /*
 | 
			
		||||
    |--------------------------------------------------------------------------
 | 
			
		||||
    | Password Reset Controller
 | 
			
		||||
    |--------------------------------------------------------------------------
 | 
			
		||||
    |
 | 
			
		||||
    | This controller is responsible for handling password reset requests
 | 
			
		||||
    | and uses a simple trait to include this behavior. You're free to
 | 
			
		||||
    | explore this trait and override any methods you wish to tweak.
 | 
			
		||||
    |
 | 
			
		||||
    */
 | 
			
		||||
 | 
			
		||||
    use ResetsPasswords;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Where to redirect users after resetting their password.
 | 
			
		||||
     *
 | 
			
		||||
     * @var string
 | 
			
		||||
     */
 | 
			
		||||
    protected $redirectTo = RouteServiceProvider::HOME;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										42
									
								
								app/Http/Controllers/Auth/VerificationController.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										42
									
								
								app/Http/Controllers/Auth/VerificationController.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,42 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Http\Controllers\Auth;
 | 
			
		||||
 | 
			
		||||
use App\Http\Controllers\Controller;
 | 
			
		||||
use App\Providers\RouteServiceProvider;
 | 
			
		||||
use Illuminate\Foundation\Auth\VerifiesEmails;
 | 
			
		||||
 | 
			
		||||
class VerificationController extends Controller
 | 
			
		||||
{
 | 
			
		||||
    /*
 | 
			
		||||
    |--------------------------------------------------------------------------
 | 
			
		||||
    | Email Verification Controller
 | 
			
		||||
    |--------------------------------------------------------------------------
 | 
			
		||||
    |
 | 
			
		||||
    | This controller is responsible for handling email verification for any
 | 
			
		||||
    | user that recently registered with the application. Emails may also
 | 
			
		||||
    | be re-sent if the user didn't receive the original email message.
 | 
			
		||||
    |
 | 
			
		||||
    */
 | 
			
		||||
 | 
			
		||||
    use VerifiesEmails;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Where to redirect users after verification.
 | 
			
		||||
     *
 | 
			
		||||
     * @var string
 | 
			
		||||
     */
 | 
			
		||||
    protected $redirectTo = RouteServiceProvider::HOME;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * Create a new controller instance.
 | 
			
		||||
     *
 | 
			
		||||
     * @return void
 | 
			
		||||
     */
 | 
			
		||||
    public function __construct()
 | 
			
		||||
    {
 | 
			
		||||
        $this->middleware('auth');
 | 
			
		||||
        $this->middleware('signed')->only('verify');
 | 
			
		||||
        $this->middleware('throttle:6,1')->only('verify', 'resend');
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										13
									
								
								app/Http/Controllers/Controller.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										13
									
								
								app/Http/Controllers/Controller.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,13 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Http\Controllers;
 | 
			
		||||
 | 
			
		||||
use Illuminate\Foundation\Auth\Access\AuthorizesRequests;
 | 
			
		||||
use Illuminate\Foundation\Bus\DispatchesJobs;
 | 
			
		||||
use Illuminate\Foundation\Validation\ValidatesRequests;
 | 
			
		||||
use Illuminate\Routing\Controller as BaseController;
 | 
			
		||||
 | 
			
		||||
class Controller extends BaseController
 | 
			
		||||
{
 | 
			
		||||
    use AuthorizesRequests, DispatchesJobs, ValidatesRequests;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										18
									
								
								app/Http/Controllers/InfoController.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								app/Http/Controllers/InfoController.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Http\Controllers;
 | 
			
		||||
 | 
			
		||||
use \Illuminate\Support\Facades\Auth;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Description of InfoController
 | 
			
		||||
 *
 | 
			
		||||
 * @author Andrey Pokidov <pokidov@e-traffic.ru>
 | 
			
		||||
 */
 | 
			
		||||
class InfoController extends Controller
 | 
			
		||||
{
 | 
			
		||||
    public function index()
 | 
			
		||||
    {
 | 
			
		||||
        var_dump(Auth::user());
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										96
									
								
								app/Http/Controllers/OAuth2/LoginController.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										96
									
								
								app/Http/Controllers/OAuth2/LoginController.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,96 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Http\Controllers\OAuth2;
 | 
			
		||||
 | 
			
		||||
use \League\OAuth2\Client\Provider\GenericProvider;
 | 
			
		||||
use \Illuminate\Support\Facades\Auth;
 | 
			
		||||
 | 
			
		||||
use App\Http\Controllers\Controller;
 | 
			
		||||
use App\OAuth2User;
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * Description of LoginController
 | 
			
		||||
 *
 | 
			
		||||
 * @author Andrey Pokidov <pokidov@e-traffic.ru>
 | 
			
		||||
 * @date 25 February 2020
 | 
			
		||||
 */
 | 
			
		||||
class LoginController extends Controller
 | 
			
		||||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * @var GenericProvider
 | 
			
		||||
     */
 | 
			
		||||
    private static $provider = null;
 | 
			
		||||
    
 | 
			
		||||
    public function login()
 | 
			
		||||
    {
 | 
			
		||||
        //TODO: use the PHP league OAuth2 Client
 | 
			
		||||
        return redirect(self::provider()->getAuthorizationUrl());
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function completeLogin()
 | 
			
		||||
    {
 | 
			
		||||
        $accessToken = self::provider()->getAccessToken('authorization_code', [
 | 
			
		||||
            'code' => request()->get('code')
 | 
			
		||||
        ]);
 | 
			
		||||
 | 
			
		||||
/*
 | 
			
		||||
        echo $accessToken->getToken() . "\n";
 | 
			
		||||
        echo $accessToken->getRefreshToken() . "\n";
 | 
			
		||||
        echo $accessToken->getExpires() . "\n";
 | 
			
		||||
        echo ($accessToken->hasExpired() ? 'expired' : 'not expired') . "\n";
 | 
			
		||||
*/
 | 
			
		||||
 | 
			
		||||
        $resourceOwner = self::provider()->getResourceOwner($accessToken);
 | 
			
		||||
        
 | 
			
		||||
        $userData = $resourceOwner->toArray();
 | 
			
		||||
        
 | 
			
		||||
        $user = OAuth2User::getById($userData['resourceOwnerId']);
 | 
			
		||||
        
 | 
			
		||||
        if (is_null($user)) {
 | 
			
		||||
            $user = new OAuth2User();
 | 
			
		||||
            $user->id = intval($userData['resourceOwnerId']);
 | 
			
		||||
            $user->email = $userData['email'];
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        $user->name = $userData['name'];
 | 
			
		||||
        $user->patronymic = $userData['patronymic'];
 | 
			
		||||
        $user->lastname = $userData['lastname'];
 | 
			
		||||
        $user->access_token = $accessToken->getToken();
 | 
			
		||||
        $user->refresh_token = $accessToken->getRefreshToken();
 | 
			
		||||
        $user->expires_at = date('Y-m-d H:i:s', $accessToken->getExpires());
 | 
			
		||||
        
 | 
			
		||||
        $user->save();
 | 
			
		||||
        
 | 
			
		||||
        Auth::guard()->login($user);
 | 
			
		||||
        
 | 
			
		||||
        return 'complete login';
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    public function show()
 | 
			
		||||
    {
 | 
			
		||||
        var_dump(request()->session()->all());
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
    /**
 | 
			
		||||
     * @return GenericProvider
 | 
			
		||||
     */
 | 
			
		||||
    private static function provider()
 | 
			
		||||
    {
 | 
			
		||||
        if (!is_null(self::$provider)) {
 | 
			
		||||
            return self::$provider;
 | 
			
		||||
        }
 | 
			
		||||
        
 | 
			
		||||
        self::$provider = new GenericProvider([
 | 
			
		||||
            'clientId' => 3, // TODO: define value
 | 
			
		||||
            'clientSecret' => 'v3Oi3425I83g3x1rNqQ45l43sM9z4Xj3Q2e92q9b',
 | 
			
		||||
            'redirectUri' => 'https://oauth2-client.pokidov-dev.ln/login/complete',
 | 
			
		||||
            'scopes' => 'fullname email birthday',
 | 
			
		||||
            'urlAuthorize'            => 'https://oauth2-server.pokidov-dev.ln/oauth/authorize',
 | 
			
		||||
            'urlAccessToken'          => 'https://oauth2-server.pokidov-dev.ln/oauth/token',
 | 
			
		||||
            'urlResourceOwnerDetails' => 'https://oauth2-api.pokidov-dev.ln/api/oauth/resource'
 | 
			
		||||
        ]);
 | 
			
		||||
        
 | 
			
		||||
        return self::$provider;
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										82
									
								
								app/Http/Kernel.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										82
									
								
								app/Http/Kernel.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,82 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Http;
 | 
			
		||||
 | 
			
		||||
use Illuminate\Foundation\Http\Kernel as HttpKernel;
 | 
			
		||||
 | 
			
		||||
class Kernel extends HttpKernel
 | 
			
		||||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * The application's global HTTP middleware stack.
 | 
			
		||||
     *
 | 
			
		||||
     * These middleware are run during every request to your application.
 | 
			
		||||
     *
 | 
			
		||||
     * @var array
 | 
			
		||||
     */
 | 
			
		||||
    protected $middleware = [
 | 
			
		||||
        \App\Http\Middleware\TrustProxies::class,
 | 
			
		||||
        \App\Http\Middleware\CheckForMaintenanceMode::class,
 | 
			
		||||
        \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class,
 | 
			
		||||
        \App\Http\Middleware\TrimStrings::class,
 | 
			
		||||
        \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class,
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * The application's route middleware groups.
 | 
			
		||||
     *
 | 
			
		||||
     * @var array
 | 
			
		||||
     */
 | 
			
		||||
    protected $middlewareGroups = [
 | 
			
		||||
        'web' => [
 | 
			
		||||
            \App\Http\Middleware\EncryptCookies::class,
 | 
			
		||||
            \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class,
 | 
			
		||||
            \Illuminate\Session\Middleware\StartSession::class,
 | 
			
		||||
            // \Illuminate\Session\Middleware\AuthenticateSession::class,
 | 
			
		||||
            \Illuminate\View\Middleware\ShareErrorsFromSession::class,
 | 
			
		||||
            \App\Http\Middleware\VerifyCsrfToken::class,
 | 
			
		||||
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
 | 
			
		||||
        ],
 | 
			
		||||
 | 
			
		||||
        'api' => [
 | 
			
		||||
            'throttle:60,1',
 | 
			
		||||
            \Illuminate\Routing\Middleware\SubstituteBindings::class,
 | 
			
		||||
        ],
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * The application's route middleware.
 | 
			
		||||
     *
 | 
			
		||||
     * These middleware may be assigned to groups or used individually.
 | 
			
		||||
     *
 | 
			
		||||
     * @var array
 | 
			
		||||
     */
 | 
			
		||||
    protected $routeMiddleware = [
 | 
			
		||||
        'auth' => \App\Http\Middleware\Authenticate::class,
 | 
			
		||||
        'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
 | 
			
		||||
        'bindings' => \Illuminate\Routing\Middleware\SubstituteBindings::class,
 | 
			
		||||
        'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class,
 | 
			
		||||
        'can' => \Illuminate\Auth\Middleware\Authorize::class,
 | 
			
		||||
        'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
 | 
			
		||||
        'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class,
 | 
			
		||||
        'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
 | 
			
		||||
        'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
 | 
			
		||||
        'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class,
 | 
			
		||||
    ];
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * The priority-sorted list of middleware.
 | 
			
		||||
     *
 | 
			
		||||
     * This forces non-global middleware to always be in the given order.
 | 
			
		||||
     *
 | 
			
		||||
     * @var array
 | 
			
		||||
     */
 | 
			
		||||
    protected $middlewarePriority = [
 | 
			
		||||
        \Illuminate\Session\Middleware\StartSession::class,
 | 
			
		||||
        \Illuminate\View\Middleware\ShareErrorsFromSession::class,
 | 
			
		||||
        \App\Http\Middleware\Authenticate::class,
 | 
			
		||||
        \Illuminate\Routing\Middleware\ThrottleRequests::class,
 | 
			
		||||
        \Illuminate\Session\Middleware\AuthenticateSession::class,
 | 
			
		||||
        \Illuminate\Routing\Middleware\SubstituteBindings::class,
 | 
			
		||||
        \Illuminate\Auth\Middleware\Authorize::class,
 | 
			
		||||
    ];
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										21
									
								
								app/Http/Middleware/Authenticate.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										21
									
								
								app/Http/Middleware/Authenticate.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,21 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Http\Middleware;
 | 
			
		||||
 | 
			
		||||
use Illuminate\Auth\Middleware\Authenticate as Middleware;
 | 
			
		||||
 | 
			
		||||
class Authenticate extends Middleware
 | 
			
		||||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * Get the path the user should be redirected to when they are not authenticated.
 | 
			
		||||
     *
 | 
			
		||||
     * @param  \Illuminate\Http\Request  $request
 | 
			
		||||
     * @return string|null
 | 
			
		||||
     */
 | 
			
		||||
    protected function redirectTo($request)
 | 
			
		||||
    {
 | 
			
		||||
        if (! $request->expectsJson()) {
 | 
			
		||||
            return route('login');
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										17
									
								
								app/Http/Middleware/CheckForMaintenanceMode.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								app/Http/Middleware/CheckForMaintenanceMode.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Http\Middleware;
 | 
			
		||||
 | 
			
		||||
use Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode as Middleware;
 | 
			
		||||
 | 
			
		||||
class CheckForMaintenanceMode extends Middleware
 | 
			
		||||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * The URIs that should be reachable while maintenance mode is enabled.
 | 
			
		||||
     *
 | 
			
		||||
     * @var array
 | 
			
		||||
     */
 | 
			
		||||
    protected $except = [
 | 
			
		||||
        //
 | 
			
		||||
    ];
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										17
									
								
								app/Http/Middleware/EncryptCookies.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								app/Http/Middleware/EncryptCookies.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,17 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Http\Middleware;
 | 
			
		||||
 | 
			
		||||
use Illuminate\Cookie\Middleware\EncryptCookies as Middleware;
 | 
			
		||||
 | 
			
		||||
class EncryptCookies extends Middleware
 | 
			
		||||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * The names of the cookies that should not be encrypted.
 | 
			
		||||
     *
 | 
			
		||||
     * @var array
 | 
			
		||||
     */
 | 
			
		||||
    protected $except = [
 | 
			
		||||
        //
 | 
			
		||||
    ];
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										27
									
								
								app/Http/Middleware/RedirectIfAuthenticated.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										27
									
								
								app/Http/Middleware/RedirectIfAuthenticated.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,27 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Http\Middleware;
 | 
			
		||||
 | 
			
		||||
use App\Providers\RouteServiceProvider;
 | 
			
		||||
use Closure;
 | 
			
		||||
use Illuminate\Support\Facades\Auth;
 | 
			
		||||
 | 
			
		||||
class RedirectIfAuthenticated
 | 
			
		||||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * Handle an incoming request.
 | 
			
		||||
     *
 | 
			
		||||
     * @param  \Illuminate\Http\Request  $request
 | 
			
		||||
     * @param  \Closure  $next
 | 
			
		||||
     * @param  string|null  $guard
 | 
			
		||||
     * @return mixed
 | 
			
		||||
     */
 | 
			
		||||
    public function handle($request, Closure $next, $guard = null)
 | 
			
		||||
    {
 | 
			
		||||
        if (Auth::guard($guard)->check()) {
 | 
			
		||||
            return redirect(RouteServiceProvider::HOME);
 | 
			
		||||
        }
 | 
			
		||||
 | 
			
		||||
        return $next($request);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										18
									
								
								app/Http/Middleware/TrimStrings.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										18
									
								
								app/Http/Middleware/TrimStrings.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,18 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Http\Middleware;
 | 
			
		||||
 | 
			
		||||
use Illuminate\Foundation\Http\Middleware\TrimStrings as Middleware;
 | 
			
		||||
 | 
			
		||||
class TrimStrings extends Middleware
 | 
			
		||||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * The names of the attributes that should not be trimmed.
 | 
			
		||||
     *
 | 
			
		||||
     * @var array
 | 
			
		||||
     */
 | 
			
		||||
    protected $except = [
 | 
			
		||||
        'password',
 | 
			
		||||
        'password_confirmation',
 | 
			
		||||
    ];
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										23
									
								
								app/Http/Middleware/TrustProxies.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										23
									
								
								app/Http/Middleware/TrustProxies.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,23 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Http\Middleware;
 | 
			
		||||
 | 
			
		||||
use Fideloper\Proxy\TrustProxies as Middleware;
 | 
			
		||||
use Illuminate\Http\Request;
 | 
			
		||||
 | 
			
		||||
class TrustProxies extends Middleware
 | 
			
		||||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * The trusted proxies for this application.
 | 
			
		||||
     *
 | 
			
		||||
     * @var array|string
 | 
			
		||||
     */
 | 
			
		||||
    protected $proxies;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * The headers that should be used to detect proxies.
 | 
			
		||||
     *
 | 
			
		||||
     * @var int
 | 
			
		||||
     */
 | 
			
		||||
    protected $headers = Request::HEADER_X_FORWARDED_ALL;
 | 
			
		||||
}
 | 
			
		||||
							
								
								
									
										24
									
								
								app/Http/Middleware/VerifyCsrfToken.php
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										24
									
								
								app/Http/Middleware/VerifyCsrfToken.php
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,24 @@
 | 
			
		||||
<?php
 | 
			
		||||
 | 
			
		||||
namespace App\Http\Middleware;
 | 
			
		||||
 | 
			
		||||
use Illuminate\Foundation\Http\Middleware\VerifyCsrfToken as Middleware;
 | 
			
		||||
 | 
			
		||||
class VerifyCsrfToken extends Middleware
 | 
			
		||||
{
 | 
			
		||||
    /**
 | 
			
		||||
     * Indicates whether the XSRF-TOKEN cookie should be set on the response.
 | 
			
		||||
     *
 | 
			
		||||
     * @var bool
 | 
			
		||||
     */
 | 
			
		||||
    protected $addHttpCookie = true;
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * The URIs that should be excluded from CSRF verification.
 | 
			
		||||
     *
 | 
			
		||||
     * @var array
 | 
			
		||||
     */
 | 
			
		||||
    protected $except = [
 | 
			
		||||
        //
 | 
			
		||||
    ];
 | 
			
		||||
}
 | 
			
		||||
		Reference in New Issue
	
	Block a user