summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Http/Firewall/SimplePreAuthenticationListener.php9
1 files changed, 7 insertions, 2 deletions
diff --git a/Http/Firewall/SimplePreAuthenticationListener.php b/Http/Firewall/SimplePreAuthenticationListener.php
index 258ca96..47996b2 100644
--- a/Http/Firewall/SimplePreAuthenticationListener.php
+++ b/Http/Firewall/SimplePreAuthenticationListener.php
@@ -21,6 +21,7 @@ use Symfony\Component\Security\Core\Authentication\Token\AnonymousToken;
use Symfony\Component\Security\Core\Exception\AuthenticationException;
use Symfony\Component\Security\Http\Authentication\AuthenticationFailureHandlerInterface;
use Symfony\Component\Security\Http\Authentication\AuthenticationSuccessHandlerInterface;
+use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
/**
* SimplePreAuthenticationListener implements simple proxying to an authenticator.
@@ -75,9 +76,13 @@ class SimplePreAuthenticationListener implements ListenerInterface
}
try {
+ $this->securityContext->setToken(null);
$token = $this->simpleAuthenticator->createToken($request, $this->providerKey);
- $token = $this->authenticationManager->authenticate($token);
- $this->securityContext->setToken($token);
+
+ if ($token instanceof TokenInterface) {
+ $token = $this->authenticationManager->authenticate($token);
+ $this->securityContext->setToken($token);
+ }
} catch (AuthenticationException $e) {
$this->securityContext->setToken(null);