mirror of
https://github.com/wallabag/wallabag.git
synced 2025-01-11 17:35:25 +00:00
Added authentication during import command for paywalled websites
This commit is contained in:
parent
365b3dd21f
commit
607e1a1a13
1 changed files with 14 additions and 3 deletions
|
@ -8,6 +8,7 @@ use Symfony\Component\Console\Input\InputArgument;
|
||||||
use Symfony\Component\Console\Input\InputInterface;
|
use Symfony\Component\Console\Input\InputInterface;
|
||||||
use Symfony\Component\Console\Input\InputOption;
|
use Symfony\Component\Console\Input\InputOption;
|
||||||
use Symfony\Component\Console\Output\OutputInterface;
|
use Symfony\Component\Console\Output\OutputInterface;
|
||||||
|
use Symfony\Component\Security\Core\Authentication\Token\UsernamePasswordToken;
|
||||||
|
|
||||||
class ImportCommand extends ContainerAwareCommand
|
class ImportCommand extends ContainerAwareCommand
|
||||||
{
|
{
|
||||||
|
@ -38,15 +39,25 @@ class ImportCommand extends ContainerAwareCommand
|
||||||
$em->getConnection()->getConfiguration()->setSQLLogger(null);
|
$em->getConnection()->getConfiguration()->setSQLLogger(null);
|
||||||
|
|
||||||
if ($input->getOption('useUserId')) {
|
if ($input->getOption('useUserId')) {
|
||||||
$user = $em->getRepository('WallabagUserBundle:User')->findOneById($input->getArgument('username'));
|
$entityUser = $em->getRepository('WallabagUserBundle:User')->findOneById($input->getArgument('username'));
|
||||||
} else {
|
} else {
|
||||||
$user = $em->getRepository('WallabagUserBundle:User')->findOneByUsername($input->getArgument('username'));
|
$entityUser = $em->getRepository('WallabagUserBundle:User')->findOneByUsername($input->getArgument('username'));
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!\is_object($user)) {
|
if (!\is_object($entityUser)) {
|
||||||
throw new Exception(sprintf('User "%s" not found', $input->getArgument('username')));
|
throw new Exception(sprintf('User "%s" not found', $input->getArgument('username')));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// Authenticate user for paywalled websites
|
||||||
|
$token = new UsernamePasswordToken(
|
||||||
|
$entityUser,
|
||||||
|
null,
|
||||||
|
'main',
|
||||||
|
$entityUser->getRoles());
|
||||||
|
|
||||||
|
$this->getContainer()->get('security.token_storage')->setToken($token);
|
||||||
|
$user = $this->getContainer()->get('security.token_storage')->getToken()->getUser();
|
||||||
|
|
||||||
switch ($input->getOption('importer')) {
|
switch ($input->getOption('importer')) {
|
||||||
case 'v2':
|
case 'v2':
|
||||||
$import = $this->getContainer()->get('wallabag_import.wallabag_v2.import');
|
$import = $this->getContainer()->get('wallabag_import.wallabag_v2.import');
|
||||||
|
|
Loading…
Reference in a new issue