Code Coverage |
||||||||||
Classes and Traits |
Functions and Methods |
Lines |
||||||||
Total | |
100.00% |
1 / 1 |
|
100.00% |
2 / 2 |
CRAP | |
100.00% |
6 / 6 |
AuthenticationSuccessHandler | |
100.00% |
1 / 1 |
|
100.00% |
2 / 2 |
2 | |
100.00% |
6 / 6 |
setJwtManager | |
100.00% |
1 / 1 |
1 | |
100.00% |
2 / 2 |
|||
onAuthenticationSuccess | |
100.00% |
1 / 1 |
1 | |
100.00% |
4 / 4 |
<?php | |
/* | |
* This file is part of the Incipio package. | |
* | |
* (c) Théo FIDRY <theo.fidry@gmail.com> | |
* | |
* For the full copyright and license information, please view the LICENSE | |
* file that was distributed with this source code. | |
*/ | |
namespace FrontBundle\Security\Http\Authentication; | |
use FOS\UserBundle\Model\UserInterface; | |
use Lexik\Bundle\JWTAuthenticationBundle\Services\JWTManager; | |
use Symfony\Component\HttpFoundation\Request; | |
use Symfony\Component\Security\Core\Authentication\Token\TokenInterface; | |
use Symfony\Component\Security\Http\Authentication\DefaultAuthenticationSuccessHandler; | |
/** | |
* Class with the default authentication success handling logic. | |
* | |
* @author Théo FIDRY <theo.fidry@gmail.com> | |
*/ | |
class AuthenticationSuccessHandler extends DefaultAuthenticationSuccessHandler | |
{ | |
/** | |
* @var JWTManager | |
*/ | |
private $jwtManager; | |
/** | |
* @param JWTManager $jwtManager | |
*/ | |
public function setJwtManager(JWTManager $jwtManager) | |
{ | |
$this->jwtManager = $jwtManager; | |
} | |
/** | |
* {@inheritdoc} | |
* | |
* Overrides event to add API token to the user's session. | |
*/ | |
public function onAuthenticationSuccess(Request $request, TokenInterface $token) | |
{ | |
/* | |
* @var UserInterface Note this will return a ApiBundle\Entity\User instance; this dependence to ApiBundle | |
* is due to the fact that this is the user class defined at the application | |
* configuration level worry here. | |
*/ | |
$user = $token->getUser(); | |
$apiToken = $this->jwtManager->create($user); | |
$request->getSession()->set('api_token', $apiToken); | |
return parent::onAuthenticationSuccess($request, $token); | |
} | |
} |