Laravel护照创建令牌在plesk服务器上不起作用

时间:2020-04-09 08:37:01

标签: laravel api plesk laravel-passport

我在laravel项目中使用通行证通过api对用户进行身份验证。 API在我的本地主机上正常工作。但是在我将其部署到Plesk服务器后,令牌不会创建。始终显示服务器错误。

public function login(Request $request) {
    $validator = Validator::make($request->all(),[
        'email'    => 'required',
        'password' => 'required',
    ]);

    if($validator->fails()) {
        return response()->json(["validation errors" => $validator->errors()]);
    }

    $email  =   $request->email;
    $password = $request->password;
    error_log($password);
    $user   =   DB::table("users")->where([["email", "=", $email]])->first();

    if(is_null($user)) {
        return response()->json(["success" => false, "message" => "User doesn't exist"]);
    }

    if(Auth::attempt(['email' => request('email'), 'password' => request('password')])) {
        $user = Auth::user();
        $token = $user->createToken('token')->accessToken;
        $success['success'] = true;
        $success['user'] = $user;
        $success['message'] = "Success! you are logged in successfully";
        $success['token'] = $token;
        return response()->json(['success' => $success ], 200);
    } else {
        return response()->json(['error' => 'Unauthorised'], 401);
    }
}

$ token = $ user-> createToken('token')-> accessToken; 此行抛出错误

1 个答案:

答案 0 :(得分:0)

问题出在我的AuthServiceProvider中

class AuthServiceProvider extends ServiceProvider
{

    protected $policies = [
        'Medicare\Model' => 'Medicare\Policies\ModelPolicy',
    ];

    public function boot()
    {
        $this->registerPolicies();
        Passport::routes();
        //
    }
}

我评论'Medicare \ Model'=>'Medicare \ Policies \ ModelPolicy'后,一切正常。