all(), [ 'name' => 'required', 'email' => 'required|email|unique:users', 'password' => 'required', ]); if ($validator->fails()) { return response()->json($validator->errors(), 422); } $user = User::create([ 'name' => $request->name, 'email' => $request->email, 'password' => bcrypt($request->password), ]); $token = $user->createToken('auth_token')->plainTextToken; return response()->json([ 'user' => $user, 'token' => $token, ]); } public function login(Request $request) { if (!Auth::attempt($request->only('email', 'password'))) { return response()->json(['message' => 'Invalid login details'], 401); } $user = User::where('email', $request['email'])->firstOrFail(); $token = $user->createToken('auth_token')->plainTextToken; return response()->json([ 'user' => $user, 'token' => $token, ]); } public function logout(Request $request) { $request->user()->currentAccessToken()->delete(); return response()->json(['message' => 'Logged out']); } }