AuthController.php 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667
  1. <?php
  2. namespace App\Http\Controllers;
  3. use Illuminate\Http\Request;
  4. use Illuminate\Support\Facades\Auth;
  5. use App\Models\User;
  6. use App\Models\Application;
  7. class AuthController extends Controller
  8. {
  9. public function logout(Request $request) {
  10. Auth::logout();
  11. $request->session()->invalidate();
  12. $request->session()->regenerateToken();
  13. return view('home');
  14. }
  15. public function register() {
  16. return view('register');
  17. }
  18. public function register_post(Request $request) {
  19. $request->validate([
  20. 'login' => 'required|min:6|unique:users|regex:/^[A-Za-z0-9]+$/',
  21. 'phone' => 'required|regex:/^8\(\d{3}\)\d{3}-\d{2}-\d{2}$/',
  22. 'fio' => 'required|regex:/^[А-ЯЁа-яё\s]+$/u',
  23. 'email' => 'required|email|unique:users',
  24. 'password' => 'required|min:8',
  25. ]);
  26. $user = User::create([
  27. 'login' => $request->login,
  28. 'phone' => $request->phone,
  29. 'fio' => $request->fio,
  30. 'email' => $request->email,
  31. 'password' => $request->password,
  32. ]);
  33. Auth::login($user);
  34. $request->session()->regenerate();
  35. return redirect('apps');
  36. }
  37. public function login() {
  38. return view('login');
  39. }
  40. public function login_post(Request $request) {
  41. $credentials = $request->validate([
  42. 'login' => 'required',
  43. 'password' => 'required',
  44. ]);
  45. if(Auth::attempt($credentials)) {
  46. $request->session()->regenerate();
  47. return redirect('apps');
  48. }
  49. return redirect()->back()->withErrors([
  50. 'login' => 'Логин или пароль неверные!'
  51. ]);
  52. }
  53. }