if (!
$provider->
supportsClass($userClass)) { continue;
} try { $refreshedUser =
$provider->
refreshUser($user);
$newToken =
clone $token;
$newToken->
setUser($refreshedUser, false
);
// tokens can be deauthenticated if the user has been changed.
if ($token instanceof AbstractToken &&
$this->
hasUserChanged($user,
$newToken)) { $userDeauthenticated = true;
$this->logger?->
debug('Cannot refresh token because user has changed.',
['username' =>
$refreshedUser->
getUserIdentifier(), 'provider' =>
$provider::
class]);
continue;
} $token->
setUser($refreshedUser);
if (null !==
$this->logger
) { $context =
['provider' =>
$provider::
class, 'username' =>
$refreshedUser->
getUserIdentifier()];