Ngiler SH3LL 360
Home
Information
Create File
Create Folder
:
/
home
/
tbf
/
tbf.ro
/
app
/
Http
/
Controllers
/
Information Server
MySQL :
OFF
Perl :
OFF
CURL :
ON
WGET :
OFF
PKEXEC :
OFF
Directive
Local Value
IP Address
89.40.16.97
System
Linux server.atelieruldeit.ro 3.10.0-1160.el7.x86_64 #1 SMP Mon Oct 19 16:18:59 UTC 2020 x86_64
User
tbf
PHP Version
7.3.33
Software
Apache
Doc root
Writable
close
Edit File :
AuthController.php
| Size :
7.94
KB
Copy
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use App\User; use App\Invoice; use Validator; use JWTAuth; use Auth; use Log; use App\Http\Requests\RegisterFormRequest; use Tymon\JWTAuth\Exceptions\JWTException; class AuthController extends Controller { public function register(Request $request) { $validator = Validator::make($request->all(), [ 'name' => (!in_array($request->type,['fb','google'])) ? 'required|max:255' : '', 'email' => (!in_array($request->type,['fb','google'])) ? 'required|string|email|max:255|unique:users' : '', 'password' => (!in_array($request->type,['fb','google'])) ? 'required|confirmed' : '', 'terms_conditions' => (!in_array($request->type,['fb','google'])) ? 'required' : '', 'privacy_policy' => (!in_array($request->type,['fb','google'])) ? 'required' : '', ]); if($validator->fails()) { $messages = $validator->messages(); return response()->json([ 'status' => 'error', 'error' => 'invalid.credentials', 'msg' => $messages ], 401); }else{ switch($request->type){ case 'google': $google_data = $request->google_data; $name = $google_data['ig']; $last_name = null; $phone = null; $email = $google_data['U3']; $fb_id = null; $google_id = $google_data['Eea']; $password = null; $terms_conditions = 0; $privacy_policy = 0; $newsletter = 0; break; case 'fb': $fb_data = $request->fb_data; $name = $fb_data['name']; $last_name = null; $phone = null; $email = $fb_data['email']; $fb_id = $fb_data['personalID']; $google_id = null; $password = null; $terms_conditions = 0; $privacy_policy = 0; $newsletter = 0; break; case 'normal': $name = $request->name; $last_name = $request->last_name; $phone = $request->phone; $email = $request->email; $password = $request->password; $google_id =null; $fb_id = null; $terms_conditions = $request->terms_conditions; $privacy_policy = $request->privacy_policy; $newsletter = $request->newsletter; break; } if(User::where('email',$email)->first()) { return response()->json([ 'status' => 'error', 'error' => 'invalid.acount_already_existing', 'msg' => [ 'email' => ['Un cont cu acest email exista deja']] ], 400); } $user = User::create([ 'name' => $name, 'email' => $email, 'password' => $password == null ? null : bcrypt($password), 'phone' => $phone, 'last_name' => $last_name, 'facebook_id' => $fb_id, 'google_id' => $google_id, 'terms_conditions' => $terms_conditions, 'privacy_policy' => $privacy_policy, 'newsletter' => $newsletter, ]); if($password){ new_user_created_mail($user,$password); } return response([ 'status' => 'success', 'data' => $user, ]); } } public function login(Request $request) { switch($request->type){ case 'google': $google_data = $request->google_data; $user = User::where('email', $google_data['U3'])->where('google_id',$google_data['Eea'])->first(); if($user){ try { if (! $token = JWTAuth::fromUser($user)) { return response([ 'status' => 'error', 'error' => 'invalid.credentials', 'msg' => 'Invalid Google Credentials.' ], 401); } if($request->device_token){ $user->update([ 'device_token' => $request->device_token ]); } return response(['status' => 'success', 'data' => $user])->header('Authorization', $token); } catch (JWTException $e) { Log::info('nope'); } }else{ return response([ 'status' => 'error', 'error' => 'invalid.credentials', 'msg' => 'Invalid Google Credentials.' ], 401); } break; case 'fb': $fb_data = $request->fb_data; $user = User::where('email', $fb_data['email'])->where('facebook_id',$fb_data['personalID'])->first(); if($user){ try { if (! $token = JWTAuth::fromUser($user)) { return response([ 'status' => 'error', 'error' => 'invalid.credentials', 'msg' => 'Invalid FB Credentials.' ], 401); } if($request->device_token){ $user->update([ 'device_token' => $request->device_token ]); } return response(['status' => 'success', 'data' => $user])->header('Authorization', $token); } catch (JWTException $e) { Log::info('nope'); } }else{ return response([ 'status' => 'error', 'error' => 'invalid.credentials', 'msg' => 'Invalid FB Credentials.' ], 401); } break; case 'normal': $credentials = $request->only('email', 'password'); if ( ! $token = JWTAuth::attempt($credentials)) { return response([ 'status' => 'error', 'error' => 'invalid.credentials', 'msg' => 'Invalid Credentials.' ], 400); } $currentUser = Auth::user(); if($request->device_token){ $currentUser->update([ 'device_token' => $request->device_token ]); } return response(['status' => 'success', 'data' => $currentUser])->header('Authorization', $token); break; } } public function user(Request $request) { $user = User::find(Auth::user()->id); return response([ 'status' => 'success', 'data' => $user ]); } public function refresh() { return response([ 'status' => 'success' ]); } public function logout() { JWTAuth::invalidate(); return response([ 'status' => 'success', 'msg' => 'Logged out Successfully.' ], 200); } }
Back