diff options
-rw-r--r-- | Core/Authentication/Token/AbstractToken.php | 16 | ||||
-rw-r--r-- | Core/Authentication/Token/TokenInterface.php | 9 | ||||
-rw-r--r-- | Http/Firewall/AbstractPreAuthenticatedListener.php | 4 |
3 files changed, 27 insertions, 2 deletions
diff --git a/Core/Authentication/Token/AbstractToken.php b/Core/Authentication/Token/AbstractToken.php index 210e46d..ee6b207 100644 --- a/Core/Authentication/Token/AbstractToken.php +++ b/Core/Authentication/Token/AbstractToken.php @@ -204,4 +204,20 @@ abstract class AbstractToken implements TokenInterface { $this->attributes[$name] = $value; } + + /** + * {@inheritDoc} + */ + public function __toString() + { + $class = get_class($this); + $class = substr($class, strrpos($class, '\\')+1); + + $roles = array(); + foreach ($this->roles as $role) { + $roles[] = $role->getRole(); + } + + return sprintf('%s(user="%s", authenticated=%s, roles="%s")', $class, $this->getUsername(), json_encode($this->authenticated), implode(', ', $roles)); + } } diff --git a/Core/Authentication/Token/TokenInterface.php b/Core/Authentication/Token/TokenInterface.php index add550f..63e2243 100644 --- a/Core/Authentication/Token/TokenInterface.php +++ b/Core/Authentication/Token/TokenInterface.php @@ -22,6 +22,15 @@ use Symfony\Component\Security\Core\User\UserInterface; interface TokenInterface extends \Serializable { /** + * Returns a string representation ofthe Token. + * + * This is only to be used for debugging purposes. + * + * @return string + */ + function __toString(); + + /** * Returns the user roles. * * @return Role[] An array of Role instances. diff --git a/Http/Firewall/AbstractPreAuthenticatedListener.php b/Http/Firewall/AbstractPreAuthenticatedListener.php index 2b883e3..72808f5 100644 --- a/Http/Firewall/AbstractPreAuthenticatedListener.php +++ b/Http/Firewall/AbstractPreAuthenticatedListener.php @@ -55,7 +55,7 @@ abstract class AbstractPreAuthenticatedListener implements ListenerInterface $request = $event->get('request'); if (null !== $this->logger) { - $this->logger->debug(sprintf('Checking secure context token: %s', $this->securityContext->getToken()->getUserName())); + $this->logger->debug(sprintf('Checking secure context token: %s', $this->securityContext->getToken())); } list($user, $credentials) = $this->getPreAuthenticatedData($request); @@ -74,7 +74,7 @@ abstract class AbstractPreAuthenticatedListener implements ListenerInterface $token = $this->authenticationManager->authenticate(new PreAuthenticatedToken($user, $credentials, $this->providerKey)); if (null !== $this->logger) { - $this->logger->debug(sprintf('Authentication success: %s', $token->getUserName())); + $this->logger->debug(sprintf('Authentication success: %s', $token)); } $this->securityContext->setToken($token); |