Skip to content
This repository has been archived by the owner on Jul 4, 2018. It is now read-only.

Commit

Permalink
Update RememberMeServiceProvider.php
Browse files Browse the repository at this point in the history
  • Loading branch information
kevinpostma authored and fabpot committed Oct 12, 2014
1 parent 7b32b8a commit 89b1287
Show file tree
Hide file tree
Showing 2 changed files with 12 additions and 2 deletions.
5 changes: 3 additions & 2 deletions src/Silex/Provider/RememberMeServiceProvider.php
Expand Up @@ -52,7 +52,7 @@ public function register(Application $app)
'security.authentication_provider.'.$name.'.remember_me',
'security.authentication_listener.'.$name.'.remember_me',
null, // entry point
'remember_me'
'remember_me',
);
});

Expand All @@ -79,7 +79,8 @@ public function register(Application $app)
$app['security'],
$app['security.remember_me.service.'.$providerKey],
$app['security.authentication_manager'],
$app['logger']
$app['logger'],
$app['dispatcher']
);

return $listener;
Expand Down
9 changes: 9 additions & 0 deletions tests/Silex/Tests/Provider/RememberMeServiceProviderTest.php
Expand Up @@ -29,19 +29,28 @@ public function testRememberMeAuthentication()
{
$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->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->followRedirect();
$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');
$event = false;

$client->getCookiejar()->expire('MOCKSESSID');

$client->request('get', '/');
$this->assertEquals('AUTHENTICATED_REMEMBERED', $client->getResponse()->getContent());
$this->assertTrue($event, 'The interactive login has been triggered');

$client->request('get', '/logout');
$client->followRedirect();
Expand Down

0 comments on commit 89b1287

Please sign in to comment.