Skip to content

Commit b90016a

Browse files
committed
Frontend Authentication (Login,Register after Login,Logout) Done
1 parent 60d16e2 commit b90016a

Some content is hidden

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

48 files changed

+2142
-5845
lines changed

README.md

+15-2
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,16 @@
1-
<img src="docs/images/logo.png" alt="E Penguin Shop" style="margin: 0px 15%;text-align:center;"/>
1+
<p align="center"><img src="docs/images/logo.png" alt="E Penguin Shop" style="margin: 0px 15%;text-align:center;"/>
2+
</p>
3+
<p align="center">
4+
<img src="https://img.shields.io/github/issues/samayun/ecommerce-laravel-vue" alt="Issues">
5+
<img src="https://img.shields.io/github/forks/samayun/ecommerce-laravel-vue" alt="Forks">
6+
7+
<img src="https://img.shields.io/github/stars/samayun/ecommerce-laravel-vue?color=%2312ff65&label=Stars&logo=Star&logoColor=green&style=flat" alt="Stars">
8+
<img src="https://img.shields.io/github/license/samayun/ecommerce-laravel-vue" alt="License">
9+
10+
<a href="https://twitter.com/intent/tweet?text=What an application ! Wow !Check It => :&url=https://github.com/samayun/ecommerce-laravel-vue">
11+
<img src="https://img.shields.io/twitter/url?label=Follow@samayunmc&logoColor=%230f0&url=https%3A%2F%2Fgithub.com%2Fsamayun%2Fecommerce-laravel-vue" alt="Tweet">
12+
</a>
13+
</p>
214

315
## :heart: Application Name: <b style="color:green;"> E Penguin Shop </>
416
<p> Single Vendor Ecommerce web application </p>
@@ -178,4 +190,5 @@
178190
</table>
179191

180192

181-
:heart: Happy Coding :clap:
193+
:heart: Happy Coding :clap: 🚀
194+
![twitter](https://img.shields.io/twitter/follow/samayunmc.svg?style=social)

app/Http/Controllers/Auth/LoginController.php

+56
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,12 @@
33
namespace App\Http\Controllers\Auth;
44

55
use App\Http\Controllers\Controller;
6+
use App\Models\User;
67
use App\Providers\RouteServiceProvider;
78
use Illuminate\Foundation\Auth\AuthenticatesUsers;
9+
use Illuminate\Http\Request;
10+
use Illuminate\Support\Facades\Auth;
11+
use Throwable;
812

913
class LoginController extends Controller
1014
{
@@ -37,4 +41,56 @@ public function __construct()
3741
{
3842
$this->middleware('guest')->except('logout');
3943
}
44+
public function login(Request $request)
45+
{
46+
$this->validate($request, [
47+
'email' => 'required|email',
48+
'password' => 'required|min:6'
49+
]);
50+
$hasAccount = User::where('email',$request->email)->first();
51+
if (!$hasAccount) {
52+
return response()->json([
53+
'errors' => [
54+
'email' => ['There has no account with this email']
55+
]
56+
] , 422);
57+
}
58+
59+
if (Auth::attempt(['email' => $request->email, 'password' => $request->password], $request->remember)) {
60+
// email me /
61+
$user = Auth::user();
62+
// event(new EventsAdminLoginAlert($User));
63+
// dispatch(new SendEmailJobs($User));
64+
return response()->json([
65+
'success' => true ,
66+
'message' => 'User Login Successfully',
67+
'user' => $user
68+
], 200);
69+
}
70+
return response()->json([
71+
'errors' => [
72+
'password' => ['Your Password is incorrect']
73+
]
74+
] , 422);
75+
}
76+
77+
public function logout()
78+
{
79+
try {
80+
Auth::logout();
81+
session()->forget('_token');
82+
session()->regenerate("_token");
83+
return response()->json([
84+
'csrfToken' => session()->get('_token'),
85+
'success' => true ,
86+
'message' => 'User Logout Successfully'
87+
], 200);
88+
89+
} catch (Throwable $th) {
90+
return response()->json([
91+
'success' => false ,
92+
'message' => 'User Logout Failed'
93+
], 401);
94+
}
95+
}
4096
}

app/Http/Controllers/Auth/RegisterController.php

+42-2
Original file line numberDiff line numberDiff line change
@@ -5,12 +5,19 @@
55
use App\Http\Controllers\Controller;
66
use App\Providers\RouteServiceProvider;
77
use App\Models\User;
8+
use Illuminate\Auth\Events\Registered;
9+
use Illuminate\Contracts\Auth\Authenticatable;
10+
use Illuminate\Foundation\Auth\AuthenticatesUsers;
811
use Illuminate\Foundation\Auth\RegistersUsers;
12+
use Illuminate\Http\JsonResponse;
13+
use Illuminate\Http\Request;
14+
use Illuminate\Support\Facades\Auth;
915
use Illuminate\Support\Facades\Hash;
1016
use Illuminate\Support\Facades\Validator;
1117

1218
class RegisterController extends Controller
1319
{
20+
// use AuthenticatesUsers;
1421
/*
1522
|--------------------------------------------------------------------------
1623
| Register Controller
@@ -21,15 +28,15 @@ class RegisterController extends Controller
2128
| provide this functionality without requiring any additional code.
2229
|
2330
*/
24-
31+
// use AuthenticatesUsers;
2532
use RegistersUsers;
2633

2734
/**
2835
* Where to redirect users after registration.
2936
*
3037
* @var string
3138
*/
32-
protected $redirectTo = RouteServiceProvider::HOME;
39+
// protected $redirectTo = RouteServiceProvider::HOME;
3340

3441
/**
3542
* Create a new controller instance.
@@ -69,5 +76,38 @@ protected function create(array $data)
6976
'email' => $data['email'],
7077
'password' => Hash::make($data['password']),
7178
]);
79+
80+
// if (Auth::attempt(['email' => $data['email'], 'password' => $data['password'] ])) {
81+
// $user = Auth::user();
82+
// return response()->json([
83+
// 'success' => true ,
84+
// 'message' => 'User Register Successfully',
85+
// 'user' => $user
86+
// ], 200);
87+
// }
88+
89+
}
90+
public function register(Request $request)
91+
{
92+
$this->validator($request->all())->validate();
93+
94+
event(new Registered($user = $this->create($request->all())));
95+
96+
$this->guard()->login($user);
97+
98+
if ($response = $this->registered($request, $user)) {
99+
return $response;
100+
}
101+
102+
return $request->wantsJson()
103+
? new JsonResponse([
104+
'success' => true ,
105+
'message' => 'User Register Successfully',
106+
'user' => $user
107+
], 201)
108+
: new JsonResponse([
109+
'success' => false ,
110+
'message' => 'User Register Failed'
111+
], 404);
72112
}
73113
}

public/Chunks/Site/404.js

+328-21
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)