for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace BrainExe\Core\Authentication\Controller;
use BrainExe\Core\Annotations\Controller;
use BrainExe\Core\Annotations\Route;
use BrainExe\Core\Authentication\Token;
use Symfony\Component\HttpFoundation\Request;
/**
* @Controller
*/
class TokenController
{
* @var Token
private $token;
* @param Token $token
public function __construct(Token $token)
$this->token = $token;
}
* @param Request $request
* @Route("/user/tokens/", name="authenticate.tokens.get", methods="GET")
* @return array
public function getTokens(Request $request) : array
$userId = $request->attributes->getInt('user_id');
return iterator_to_array($this->token->getTokensForUser($userId));
* @Route("/user/tokens/", name="authenticate.tokens.new", methods="POST")
* @return string
public function addToken(Request $request) : string
$roles = (array)$request->request->get('roles');
$name = (string)$request->request->get('name');
return $this->token->addToken($userId, $roles, $name);
* @Route("/user/tokens/{token}/", name="authenticate.tokens.revoke", methods="DELETE")
* @param string $token
* @return bool
public function revoke(Request $request, string $token) : bool
unset($request);
$this->token->revoke($token);
return true;