Commit 89b1287b authored by Kevin's avatar Kevin Committed by Fabien Potencier

Update RememberMeServiceProvider.php

parent 7b32b8a9
...@@ -52,7 +52,7 @@ class RememberMeServiceProvider implements ServiceProviderInterface ...@@ -52,7 +52,7 @@ class RememberMeServiceProvider implements ServiceProviderInterface
'security.authentication_provider.'.$name.'.remember_me', 'security.authentication_provider.'.$name.'.remember_me',
'security.authentication_listener.'.$name.'.remember_me', 'security.authentication_listener.'.$name.'.remember_me',
null, // entry point null, // entry point
'remember_me' 'remember_me',
); );
}); });
...@@ -79,7 +79,8 @@ class RememberMeServiceProvider implements ServiceProviderInterface ...@@ -79,7 +79,8 @@ class RememberMeServiceProvider implements ServiceProviderInterface
$app['security'], $app['security'],
$app['security.remember_me.service.'.$providerKey], $app['security.remember_me.service.'.$providerKey],
$app['security.authentication_manager'], $app['security.authentication_manager'],
$app['logger'] $app['logger'],
$app['dispatcher']
); );
return $listener; return $listener;
......
...@@ -29,19 +29,28 @@ class RememberMeServiceProviderTest extends WebTestCase ...@@ -29,19 +29,28 @@ class RememberMeServiceProviderTest extends WebTestCase
{ {
$app = $this->createApplication(); $app = $this->createApplication();
$event = false;
$app->on(\Symfony\Component\Security\Http\SecurityEvents::INTERACTIVE_LOGIN, function ($event) use ($app, &$event) {
$event = true;
});
$client = new Client($app); $client = new Client($app);
$client->request('get', '/'); $client->request('get', '/');
$this->assertFalse($event, 'The interactive login has not been triggered yet');
$client->request('post', '/login_check', array('_username' => 'fabien', '_password' => 'foo', '_remember_me' => 'true')); $client->request('post', '/login_check', array('_username' => 'fabien', '_password' => 'foo', '_remember_me' => 'true'));
$client->followRedirect(); $client->followRedirect();
$this->assertEquals('AUTHENTICATED_FULLY', $client->getResponse()->getContent()); $this->assertEquals('AUTHENTICATED_FULLY', $client->getResponse()->getContent());
$this->assertTrue($event, 'The interactive login has been triggered');
$this->assertNotNull($client->getCookiejar()->get('REMEMBERME'), 'The REMEMBERME cookie is set'); $this->assertNotNull($client->getCookiejar()->get('REMEMBERME'), 'The REMEMBERME cookie is set');
$event = false;
$client->getCookiejar()->expire('MOCKSESSID'); $client->getCookiejar()->expire('MOCKSESSID');
$client->request('get', '/'); $client->request('get', '/');
$this->assertEquals('AUTHENTICATED_REMEMBERED', $client->getResponse()->getContent()); $this->assertEquals('AUTHENTICATED_REMEMBERED', $client->getResponse()->getContent());
$this->assertTrue($event, 'The interactive login has been triggered');
$client->request('get', '/logout'); $client->request('get', '/logout');
$client->followRedirect(); $client->followRedirect();
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment