Skip to content

Commit 9599e2b

Browse files
author
Ariful Islam
committed
Install Breeze
1 parent 4a24e8d commit 9599e2b

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

56 files changed

+4908
-8
lines changed
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
<?php
2+
3+
namespace App\Http\Controllers\Auth;
4+
5+
use App\Http\Controllers\Controller;
6+
use App\Http\Requests\Auth\LoginRequest;
7+
use Illuminate\Http\RedirectResponse;
8+
use Illuminate\Http\Request;
9+
use Illuminate\Support\Facades\Auth;
10+
use Illuminate\View\View;
11+
12+
class AuthenticatedSessionController extends Controller
13+
{
14+
/**
15+
* Display the login view.
16+
*/
17+
public function create(): View
18+
{
19+
return view('auth.login');
20+
}
21+
22+
/**
23+
* Handle an incoming authentication request.
24+
*/
25+
public function store(LoginRequest $request): RedirectResponse
26+
{
27+
$request->authenticate();
28+
29+
$request->session()->regenerate();
30+
31+
return redirect()->intended(route('dashboard', absolute: false));
32+
}
33+
34+
/**
35+
* Destroy an authenticated session.
36+
*/
37+
public function destroy(Request $request): RedirectResponse
38+
{
39+
Auth::guard('web')->logout();
40+
41+
$request->session()->invalidate();
42+
43+
$request->session()->regenerateToken();
44+
45+
return redirect('/');
46+
}
47+
}
Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
<?php
2+
3+
namespace App\Http\Controllers\Auth;
4+
5+
use App\Http\Controllers\Controller;
6+
use Illuminate\Http\RedirectResponse;
7+
use Illuminate\Http\Request;
8+
use Illuminate\Support\Facades\Auth;
9+
use Illuminate\Validation\ValidationException;
10+
use Illuminate\View\View;
11+
12+
class ConfirmablePasswordController extends Controller
13+
{
14+
/**
15+
* Show the confirm password view.
16+
*/
17+
public function show(): View
18+
{
19+
return view('auth.confirm-password');
20+
}
21+
22+
/**
23+
* Confirm the user's password.
24+
*/
25+
public function store(Request $request): RedirectResponse
26+
{
27+
if (! Auth::guard('web')->validate([
28+
'email' => $request->user()->email,
29+
'password' => $request->password,
30+
])) {
31+
throw ValidationException::withMessages([
32+
'password' => __('auth.password'),
33+
]);
34+
}
35+
36+
$request->session()->put('auth.password_confirmed_at', time());
37+
38+
return redirect()->intended(route('dashboard', absolute: false));
39+
}
40+
}
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
<?php
2+
3+
namespace App\Http\Controllers\Auth;
4+
5+
use App\Http\Controllers\Controller;
6+
use Illuminate\Http\RedirectResponse;
7+
use Illuminate\Http\Request;
8+
9+
class EmailVerificationNotificationController extends Controller
10+
{
11+
/**
12+
* Send a new email verification notification.
13+
*/
14+
public function store(Request $request): RedirectResponse
15+
{
16+
if ($request->user()->hasVerifiedEmail()) {
17+
return redirect()->intended(route('dashboard', absolute: false));
18+
}
19+
20+
$request->user()->sendEmailVerificationNotification();
21+
22+
return back()->with('status', 'verification-link-sent');
23+
}
24+
}
Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
<?php
2+
3+
namespace App\Http\Controllers\Auth;
4+
5+
use App\Http\Controllers\Controller;
6+
use Illuminate\Http\RedirectResponse;
7+
use Illuminate\Http\Request;
8+
use Illuminate\View\View;
9+
10+
class EmailVerificationPromptController extends Controller
11+
{
12+
/**
13+
* Display the email verification prompt.
14+
*/
15+
public function __invoke(Request $request): RedirectResponse|View
16+
{
17+
return $request->user()->hasVerifiedEmail()
18+
? redirect()->intended(route('dashboard', absolute: false))
19+
: view('auth.verify-email');
20+
}
21+
}
Lines changed: 62 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,62 @@
1+
<?php
2+
3+
namespace App\Http\Controllers\Auth;
4+
5+
use App\Http\Controllers\Controller;
6+
use App\Models\User;
7+
use Illuminate\Auth\Events\PasswordReset;
8+
use Illuminate\Http\RedirectResponse;
9+
use Illuminate\Http\Request;
10+
use Illuminate\Support\Facades\Hash;
11+
use Illuminate\Support\Facades\Password;
12+
use Illuminate\Support\Str;
13+
use Illuminate\Validation\Rules;
14+
use Illuminate\View\View;
15+
16+
class NewPasswordController extends Controller
17+
{
18+
/**
19+
* Display the password reset view.
20+
*/
21+
public function create(Request $request): View
22+
{
23+
return view('auth.reset-password', ['request' => $request]);
24+
}
25+
26+
/**
27+
* Handle an incoming new password request.
28+
*
29+
* @throws \Illuminate\Validation\ValidationException
30+
*/
31+
public function store(Request $request): RedirectResponse
32+
{
33+
$request->validate([
34+
'token' => ['required'],
35+
'email' => ['required', 'email'],
36+
'password' => ['required', 'confirmed', Rules\Password::defaults()],
37+
]);
38+
39+
// Here we will attempt to reset the user's password. If it is successful we
40+
// will update the password on an actual user model and persist it to the
41+
// database. Otherwise we will parse the error and return the response.
42+
$status = Password::reset(
43+
$request->only('email', 'password', 'password_confirmation', 'token'),
44+
function (User $user) use ($request) {
45+
$user->forceFill([
46+
'password' => Hash::make($request->password),
47+
'remember_token' => Str::random(60),
48+
])->save();
49+
50+
event(new PasswordReset($user));
51+
}
52+
);
53+
54+
// If the password was successfully reset, we will redirect the user back to
55+
// the application's home authenticated view. If there is an error we can
56+
// redirect them back to where they came from with their error message.
57+
return $status == Password::PASSWORD_RESET
58+
? redirect()->route('login')->with('status', __($status))
59+
: back()->withInput($request->only('email'))
60+
->withErrors(['email' => __($status)]);
61+
}
62+
}
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
<?php
2+
3+
namespace App\Http\Controllers\Auth;
4+
5+
use App\Http\Controllers\Controller;
6+
use Illuminate\Http\RedirectResponse;
7+
use Illuminate\Http\Request;
8+
use Illuminate\Support\Facades\Hash;
9+
use Illuminate\Validation\Rules\Password;
10+
11+
class PasswordController extends Controller
12+
{
13+
/**
14+
* Update the user's password.
15+
*/
16+
public function update(Request $request): RedirectResponse
17+
{
18+
$validated = $request->validateWithBag('updatePassword', [
19+
'current_password' => ['required', 'current_password'],
20+
'password' => ['required', Password::defaults(), 'confirmed'],
21+
]);
22+
23+
$request->user()->update([
24+
'password' => Hash::make($validated['password']),
25+
]);
26+
27+
return back()->with('status', 'password-updated');
28+
}
29+
}
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
<?php
2+
3+
namespace App\Http\Controllers\Auth;
4+
5+
use App\Http\Controllers\Controller;
6+
use Illuminate\Http\RedirectResponse;
7+
use Illuminate\Http\Request;
8+
use Illuminate\Support\Facades\Password;
9+
use Illuminate\View\View;
10+
11+
class PasswordResetLinkController extends Controller
12+
{
13+
/**
14+
* Display the password reset link request view.
15+
*/
16+
public function create(): View
17+
{
18+
return view('auth.forgot-password');
19+
}
20+
21+
/**
22+
* Handle an incoming password reset link request.
23+
*
24+
* @throws \Illuminate\Validation\ValidationException
25+
*/
26+
public function store(Request $request): RedirectResponse
27+
{
28+
$request->validate([
29+
'email' => ['required', 'email'],
30+
]);
31+
32+
// We will send the password reset link to this user. Once we have attempted
33+
// to send the link, we will examine the response then see the message we
34+
// need to show to the user. Finally, we'll send out a proper response.
35+
$status = Password::sendResetLink(
36+
$request->only('email')
37+
);
38+
39+
return $status == Password::RESET_LINK_SENT
40+
? back()->with('status', __($status))
41+
: back()->withInput($request->only('email'))
42+
->withErrors(['email' => __($status)]);
43+
}
44+
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
<?php
2+
3+
namespace App\Http\Controllers\Auth;
4+
5+
use App\Http\Controllers\Controller;
6+
use App\Models\User;
7+
use Illuminate\Auth\Events\Registered;
8+
use Illuminate\Http\RedirectResponse;
9+
use Illuminate\Http\Request;
10+
use Illuminate\Support\Facades\Auth;
11+
use Illuminate\Support\Facades\Hash;
12+
use Illuminate\Validation\Rules;
13+
use Illuminate\View\View;
14+
15+
class RegisteredUserController extends Controller
16+
{
17+
/**
18+
* Display the registration view.
19+
*/
20+
public function create(): View
21+
{
22+
return view('auth.register');
23+
}
24+
25+
/**
26+
* Handle an incoming registration request.
27+
*
28+
* @throws \Illuminate\Validation\ValidationException
29+
*/
30+
public function store(Request $request): RedirectResponse
31+
{
32+
$request->validate([
33+
'name' => ['required', 'string', 'max:255'],
34+
'email' => ['required', 'string', 'lowercase', 'email', 'max:255', 'unique:'.User::class],
35+
'password' => ['required', 'confirmed', Rules\Password::defaults()],
36+
]);
37+
38+
$user = User::create([
39+
'name' => $request->name,
40+
'email' => $request->email,
41+
'password' => Hash::make($request->password),
42+
]);
43+
44+
event(new Registered($user));
45+
46+
Auth::login($user);
47+
48+
return redirect(route('dashboard', absolute: false));
49+
}
50+
}
Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
<?php
2+
3+
namespace App\Http\Controllers\Auth;
4+
5+
use App\Http\Controllers\Controller;
6+
use Illuminate\Auth\Events\Verified;
7+
use Illuminate\Foundation\Auth\EmailVerificationRequest;
8+
use Illuminate\Http\RedirectResponse;
9+
10+
class VerifyEmailController extends Controller
11+
{
12+
/**
13+
* Mark the authenticated user's email address as verified.
14+
*/
15+
public function __invoke(EmailVerificationRequest $request): RedirectResponse
16+
{
17+
if ($request->user()->hasVerifiedEmail()) {
18+
return redirect()->intended(route('dashboard', absolute: false).'?verified=1');
19+
}
20+
21+
if ($request->user()->markEmailAsVerified()) {
22+
event(new Verified($request->user()));
23+
}
24+
25+
return redirect()->intended(route('dashboard', absolute: false).'?verified=1');
26+
}
27+
}

0 commit comments

Comments
 (0)