diff options
-rw-r--r-- | Http/Firewall/DigestAuthenticationListener.php | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/Http/Firewall/DigestAuthenticationListener.php b/Http/Firewall/DigestAuthenticationListener.php index 76517a4..490e409 100644 --- a/Http/Firewall/DigestAuthenticationListener.php +++ b/Http/Firewall/DigestAuthenticationListener.php @@ -82,13 +82,14 @@ class DigestAuthenticationListener implements ListenerInterface return; } + $digestAuth = new DigestData($header); + if (null !== $token = $this->securityContext->getToken()) { if ($token->isImmutable()) { return; } - // FIXME - if ($token instanceof UsernamePasswordToken && $token->isAuthenticated() && (string) $token === $username) { + if ($token instanceof UsernamePasswordToken && $token->isAuthenticated() && (string) $token === $digestAuth->getUsername()) { return; } } @@ -97,8 +98,6 @@ class DigestAuthenticationListener implements ListenerInterface $this->logger->debug(sprintf('Digest Authorization header received from user agent: %s', $header)); } - $digestAuth = new DigestData($header); - try { $digestAuth->validateAndDecode($this->authenticationEntryPoint->getKey(), $this->authenticationEntryPoint->getRealmName()); } catch (BadCredentialsException $e) { |