Laravel and JWT can not create Auth from user

Viewed 160

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);
        }
    }
}
0 Answers
Related