UserController.php 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960
  1. <?php
  2. namespace App\Http\Controllers;
  3. use App\User;
  4. use Validator;
  5. use Illuminate\Http\Request;
  6. use App\Http\Controllers\Controller;
  7. use Illuminate\Support\Facades\Auth;
  8. class UserController extends Controller
  9. {
  10. public function login()
  11. {
  12. $credentials = [
  13. 'email' => request('email'),
  14. 'password' => request('password')
  15. ];
  16. if (Auth::attempt($credentials)) {
  17. $success['token'] = Auth::user()->createToken('MyApp')->accessToken;
  18. $success['name'] = Auth::user()->name;
  19. return response()->json(['success' => $success]);
  20. }
  21. return response()->json(['error' => 'Unauthorised'], 401);
  22. }
  23. public function register(Request $request)
  24. {
  25. $validator = Validator::make($request->all(), [
  26. 'name' => 'required',
  27. 'email' => 'required|email',
  28. 'password' => 'required',
  29. ]);
  30. if ($validator->fails()) {
  31. return response()->json(['error' => $validator->errors()], 401);
  32. }
  33. $input = $request->all();
  34. $input['password'] = bcrypt($input['password']);
  35. $user = User::create($input);
  36. $success['token'] = $user->createToken('MyApp')->accessToken;
  37. $success['name'] = $user->name;
  38. return response()->json(['success' => $success]);
  39. }
  40. public function getDetails()
  41. {
  42. return response()->json(['success' => Auth::user()]);
  43. }
  44. }