mirror of
				https://github.com/pelican-dev/panel.git
				synced 2025-10-31 07:46:51 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			55 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
| <?php
 | |
| 
 | |
| use Illuminate\Support\Facades\Route;
 | |
| use App\Http\Controllers\Auth;
 | |
| 
 | |
| /*
 | |
| |--------------------------------------------------------------------------
 | |
| | Authentication Routes
 | |
| |--------------------------------------------------------------------------
 | |
| |
 | |
| | Endpoint: /auth
 | |
| |
 | |
| */
 | |
| 
 | |
| // These routes are defined so that we can continue to reference them programmatically.
 | |
| // They all route to the same controller function which passes off to React.
 | |
| Route::get('/login', [Auth\LoginController::class, 'index'])->name('auth.login');
 | |
| Route::get('/password', [Auth\LoginController::class, 'index'])->name('auth.forgot-password');
 | |
| Route::get('/password/reset/{token}', [Auth\LoginController::class, 'index'])->name('auth.reset');
 | |
| 
 | |
| // Endpoints for OAuth
 | |
| Route::get('/oauth/redirect/{driver}', [Auth\OAuthController::class, 'redirect'])->name('auth.oauth.redirect');
 | |
| Route::get('/oauth/callback/{driver}', [Auth\OAuthController::class, 'callback'])->name('auth.oauth.callback')->withoutMiddleware('guest');
 | |
| 
 | |
| // Apply a throttle to authentication action endpoints, in addition to the
 | |
| // recaptcha endpoints to slow down manual attack spammers even more. 🤷
 | |
| //
 | |
| // @see \App\Providers\RouteServiceProvider
 | |
| Route::middleware(['throttle:authentication'])->group(function () {
 | |
|     // Login endpoints.
 | |
|     Route::post('/login', [Auth\LoginController::class, 'login'])->middleware('recaptcha');
 | |
|     Route::post('/login/checkpoint', Auth\LoginCheckpointController::class)->name('auth.login-checkpoint');
 | |
| 
 | |
|     // Forgot password route. A post to this endpoint will trigger an
 | |
|     // email to be sent containing a reset token.
 | |
|     Route::post('/password', [Auth\ForgotPasswordController::class, 'sendResetLinkEmail'])
 | |
|         ->name('auth.post.forgot-password')
 | |
|         ->middleware('recaptcha');
 | |
| });
 | |
| 
 | |
| // Password reset routes. This endpoint is hit after going through
 | |
| // the forgot password routes to acquire a token (or after an account
 | |
| // is created).
 | |
| Route::post('/password/reset', Auth\ResetPasswordController::class)->name('auth.reset-password');
 | |
| 
 | |
| // Remove the guest middleware and apply the authenticated middleware to this endpoint,
 | |
| // so it cannot be used unless you're already logged in.
 | |
| Route::post('/logout', [Auth\LoginController::class, 'logout'])
 | |
|     ->withoutMiddleware('guest')
 | |
|     ->middleware('auth')
 | |
|     ->name('auth.logout');
 | |
| 
 | |
| // Catch any other combinations of routes and pass them off to the React component.
 | |
| Route::fallback([Auth\LoginController::class, 'index']);
 | 
