Сбросить пароль с помощью паспорта аутентификации, не отозвать токен доступа автоматическиLaravel - PullRequest
0 голосов
/ 19 мая 2018

У меня есть приложение LARAVEL, в котором я реализовал паспорт (Password Grant Type) с системой аутентификации по умолчанию.Когда пользователь запрашивает сброс пароля, я отправляю токен пароля на электронную почту пользователя, и процесс сброса пароля работает нормально.

Но у меня вопрос после успешного сброса пароля пользователя, тогда все токены доступа, связанные с этим пользователем, должны бытьавтоматически отменяется или удаляется!Я думал, что этот процесс происходит автоматически, или я что-то пропустил ...

$response = $this->broker()->reset(
    $this->credentials($request), function ($user, $password) {
        $this->resetPassword($user, $password);
    }
);
if ($request->wantsJson()) {
    if ($response == Password::PASSWORD_RESET) {
        return $this->respond(["status"=>"success","success"=>1 , 'message' => trans('passwords.reset')]);
    } else {
        return response()->json([ 'status' => "fail", 'success' => 0,'error' => 202, 'message' => trans($response) ], 202);
    }
}

Или мне нужно сделать этот процесс вручную, как это?

$response = $this->broker()->reset(
    $this->credentials($request), function ($user, $password) {
        $this->resetPassword($user, $password);
    }
);
if ($request->wantsJson()) {
    if ($response == Password::PASSWORD_RESET) {
    /* The following code is added */
        $userTokens = User::whereEmail($data['email'])->first()->tokens;
            foreach($userTokens as $token) {
                $token->delete();   
            }
        return $this->respond(["status"=>"success","success"=>1 , 'message' => trans('passwords.reset')]);
    } else {
        return response()->json([ 'status' => "fail", 'success' => 0,'error' => 202, 'message' => trans($response) ], 202);
    }
}
...