public function handle(ServerRequestInterface $request)
{
$body = $request->getParsedBody();
$identification = array_get($body, 'identification');
$password = array_get($body, 'password');
$lifetime = array_get($body, 'lifetime', 3600);
$user = $this->users->findByIdentification($identification);
if (!$user || !$user->checkPassword($password)) {
throw new PermissionDeniedException();
}
$token = AccessToken::generate($user->id, $lifetime);
$token->save();
return new JsonResponse(['token' => $token->id, 'userId' => $user->id]);
}