1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 |
<?php namespace App\Http\Controllers; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; use App\Models\User; use Illuminate\Support\Carbon; class AuthController extends Controller { public function register(Request $request){ $request->validate([ 'name'=>'required|string', 'email'=>'required|string|email|unique:users', 'password'=>'required|string|confirmed' ]); $user = new User([ 'name'=>$request->name, 'email'=>$request->email, 'password'=>md5($request->password) ]); $user = $user->save(); $credentials = ['email'=>$request->email,'password'=>$request->password]; if(!Auth::attempt($credentials)){ return response()->json([ 'message'=>'Giriş Yapılamadı Bilgileri Kontrol Ediniz' ],401); } $user = $request->user(); $tokenResult = $user->createToken('Personal Access'); $token = $tokenResult->token; if($request->remember_me){ $token->expires_at = Carbon::now()->addWeeks(1); } $token->save(); return response()->json([ 'success'=>true, 'id'=>$user->id, 'name'=>$user->name, 'email'=>$user->email, 'access_token'=>$tokenResult->accessToken, 'token_type'=>'Bearer', 'expires_at'=>Carbon::parse($tokenResult->token->expires_at)->toDateTimeString() ],201); } public function login(Request $request){ $request->validate([ 'email'=>'required|string|email', 'password'=>'required|string', 'remember_me'=>'boolean' ]); $credentials = request(['email','password']); if(!Auth::attempt($credentials)){ return response()->json([ 'message'=>'Bilgiler Hatalı Kontrol Ediniz' ],401); } $user = $request->user(); $tokenResult = $user->createToken('Personal Access Token'); $token = $tokenResult->token; if($request->remember_me){ $token->expires_at = Carbon::now()->addWeeks(1); } $token->save(); return response()->json([ 'success'=>true, 'id'=>$user->id, 'name'=>$user->name, 'email'=>$user->email, 'access_token'=>$tokenResult->accessToken, 'token_type'=>'Bearer', 'expires_at'=>Carbon::parse($tokenResult->token->expires_at)->toDateTimeString() ],201); } public function logout(Request $request){ $request->user()->token()->revoke(); return response()->json([ 'message'=>'Çıkış Yapıldı' ]); } public function user(Request $request){ return response()->json($request->user()); } public function authenticate(Request $request){ $user = []; if(Auth::check()){ $user = $request->user(); } return response()->json([ 'user'=>$user, 'isLoggedIn'=>Auth::check() ]); } } |