У меня есть приложение 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);
}
}