I'm using Laravel and JWT, and I want to login without password.
When I use auth()->login($user), I got null, so I can not get token, why?
I'm sure $user is not null.
api\UserController.php
<?php
namespace App\Http\Controllers\api;
use App\Http\Controllers\Controller;
use Illuminate\Http\Request;
use App\Models\User;
class UserController extends Controller
{
public function login(Request $request)
{
try{
if(User::where("account", $request->account)->exists()){
$user = User::where("account", $request->account)->get()->first();
if (!$token = auth()->login($user)) {
return response()->json(['message' => 'login failed'], 404);
}else{
return response()->json(['token' => $token], 200);
}
}
else{
return response()->json([
"message" => "login failed"], 404);
}
}
catch(Throwable $e){
return response()->json([
"message" => "login failed"], 404);
}
}
}