summaryrefslogtreecommitdiffstats
path: root/Http/RememberMe
diff options
context:
space:
mode:
authorNicolas Grekas <nicolas.grekas@gmail.com>2015-10-07 09:44:07 +0200
committerNicolas Grekas <nicolas.grekas@gmail.com>2015-10-07 09:44:07 +0200
commit82a1ebbc0f0a570b28d5ede8243733c20971564c (patch)
tree8f5c8b38de75c2eb26bf7412cd714b6756c9738f /Http/RememberMe
parent4e3ea9f244ad465865c2384f3d9ba2f89361d364 (diff)
parent5d74e1996313fc483fed9d4040acfa7f7b4fd297 (diff)
downloadsymfony-security-82a1ebbc0f0a570b28d5ede8243733c20971564c.zip
symfony-security-82a1ebbc0f0a570b28d5ede8243733c20971564c.tar.gz
symfony-security-82a1ebbc0f0a570b28d5ede8243733c20971564c.tar.bz2
Merge branch '2.8'
Conflicts: composer.json src/Symfony/Bundle/FrameworkBundle/Resources/config/annotations.xml src/Symfony/Bundle/FrameworkBundle/Resources/config/routing.xml src/Symfony/Bundle/FrameworkBundle/Resources/config/security_csrf.xml src/Symfony/Bundle/FrameworkBundle/composer.json src/Symfony/Component/DependencyInjection/ContainerBuilder.php src/Symfony/Component/Security/Core/composer.json src/Symfony/Component/Security/Csrf/composer.json src/Symfony/Component/Security/Http/composer.json src/Symfony/Component/Security/composer.json src/Symfony/Component/Translation/PluralizationRules.php src/Symfony/Component/VarDumper/Exception/ThrowingCasterException.php
Diffstat (limited to 'Http/RememberMe')
-rw-r--r--Http/RememberMe/AbstractRememberMeServices.php7
-rw-r--r--Http/RememberMe/PersistentTokenBasedRememberMeServices.php25
2 files changed, 8 insertions, 24 deletions
diff --git a/Http/RememberMe/AbstractRememberMeServices.php b/Http/RememberMe/AbstractRememberMeServices.php
index 0352eb4..c22105b 100644
--- a/Http/RememberMe/AbstractRememberMeServices.php
+++ b/Http/RememberMe/AbstractRememberMeServices.php
@@ -35,7 +35,10 @@ abstract class AbstractRememberMeServices implements RememberMeServicesInterface
const COOKIE_DELIMITER = ':';
protected $logger;
- protected $options;
+ protected $options = array(
+ 'secure' => false,
+ 'httponly' => true,
+ );
private $providerKey;
private $secret;
private $userProviders;
@@ -66,7 +69,7 @@ abstract class AbstractRememberMeServices implements RememberMeServicesInterface
$this->userProviders = $userProviders;
$this->secret = $secret;
$this->providerKey = $providerKey;
- $this->options = $options;
+ $this->options = array_merge($this->options, $options);
$this->logger = $logger;
}
diff --git a/Http/RememberMe/PersistentTokenBasedRememberMeServices.php b/Http/RememberMe/PersistentTokenBasedRememberMeServices.php
index 3e465d6..a8c086c 100644
--- a/Http/RememberMe/PersistentTokenBasedRememberMeServices.php
+++ b/Http/RememberMe/PersistentTokenBasedRememberMeServices.php
@@ -19,7 +19,6 @@ use Symfony\Component\Security\Core\Exception\AuthenticationException;
use Symfony\Component\Security\Core\Exception\CookieTheftException;
use Symfony\Component\Security\Core\Authentication\RememberMe\PersistentToken;
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface;
-use Symfony\Component\Security\Core\Util\SecureRandomInterface;
use Psr\Log\LoggerInterface;
/**
@@ -32,24 +31,6 @@ use Psr\Log\LoggerInterface;
class PersistentTokenBasedRememberMeServices extends AbstractRememberMeServices
{
private $tokenProvider;
- private $secureRandom;
-
- /**
- * Constructor.
- *
- * @param array $userProviders
- * @param string $secret
- * @param string $providerKey
- * @param array $options
- * @param LoggerInterface $logger
- * @param SecureRandomInterface $secureRandom
- */
- public function __construct(array $userProviders, $secret, $providerKey, array $options = array(), LoggerInterface $logger = null, SecureRandomInterface $secureRandom)
- {
- parent::__construct($userProviders, $secret, $providerKey, $options, $logger);
-
- $this->secureRandom = $secureRandom;
- }
/**
* Sets the token provider.
@@ -98,7 +79,7 @@ class PersistentTokenBasedRememberMeServices extends AbstractRememberMeServices
throw new AuthenticationException('The cookie has expired.');
}
- $tokenValue = base64_encode($this->secureRandom->nextBytes(64));
+ $tokenValue = base64_encode(random_bytes(64));
$this->tokenProvider->updateToken($series, $tokenValue, new \DateTime());
$request->attributes->set(self::COOKIE_ATTR_NAME,
new Cookie(
@@ -120,8 +101,8 @@ class PersistentTokenBasedRememberMeServices extends AbstractRememberMeServices
*/
protected function onLoginSuccess(Request $request, Response $response, TokenInterface $token)
{
- $series = base64_encode($this->secureRandom->nextBytes(64));
- $tokenValue = base64_encode($this->secureRandom->nextBytes(64));
+ $series = base64_encode(random_bytes(64));
+ $tokenValue = base64_encode(random_bytes(64));
$this->tokenProvider->createNewToken(
new PersistentToken(