Laravel токен создания паспорта не работает на сервере plesk - PullRequest
0 голосов
/ 09 апреля 2020

Я использую паспорт в моем 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 голосов
/ 11 апреля 2020

Проблема была в моем AuthServiceProvider

class AuthServiceProvider extends ServiceProvider
{

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

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

После того, как я прокомментировал 'Medicare \ Model' => 'Medicare \ Policies \ ModelPolicy' все работает нормально.

...