1
0
Fork 0
mirror of https://github.com/wallabag/wallabag.git synced 2025-09-15 18:57:05 +00:00

API user creation behing a toggle

I've added a toggle feature (in internal settings) so that user api creation can be disabled while form registration still can be enabled.
Also, the /api/user endpoint shouldn't require authentication. Even if we check the authentication when sending a GET request, to retrieve current user information.

I've moved all the internal settings definition to config to avoid duplicated place to define them.
I don't know why we didn't did that earlier.
This commit is contained in:
Jeremy Benoist 2017-06-02 10:19:33 +02:00
parent a687c8d915
commit 426bb453d2
No known key found for this signature in database
GPG key ID: BCA73962457ACC3C
10 changed files with 297 additions and 343 deletions

View file

@ -0,0 +1,52 @@
<?php
namespace Application\Migrations;
use Doctrine\DBAL\Migrations\AbstractMigration;
use Doctrine\DBAL\Schema\Schema;
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
use Symfony\Component\DependencyInjection\ContainerInterface;
/**
* Add api_user_registration in craue_config_setting.
*/
class Version20170602075214 extends AbstractMigration implements ContainerAwareInterface
{
/**
* @var ContainerInterface
*/
private $container;
public function setContainer(ContainerInterface $container = null)
{
$this->container = $container;
}
private function getTable($tableName)
{
return $this->container->getParameter('database_table_prefix').$tableName;
}
/**
* @param Schema $schema
*/
public function up(Schema $schema)
{
$apiUserRegistration = $this->container
->get('doctrine.orm.default_entity_manager')
->getConnection()
->fetchArray('SELECT * FROM '.$this->getTable('craue_config_setting')." WHERE name = 'api_user_registration'");
$this->skipIf(false !== $apiUserRegistration, 'It seems that you already played this migration.');
$this->addSql('INSERT INTO '.$this->getTable('craue_config_setting')." (name, value, section) VALUES ('api_user_registration', '0', 'api')");
}
/**
* @param Schema $schema
*/
public function down(Schema $schema)
{
$this->addSql('DELETE FROM '.$this->getTable('craue_config_setting')." WHERE name = 'api_user_registration';");
}
}

View file

@ -62,6 +62,135 @@ wallabag_core:
fetching_error_message: |
wallabag can't retrieve contents for this article. Please <a href="http://doc.wallabag.org/en/user/errors_during_fetching.html#how-can-i-help-to-fix-that">troubleshoot this issue</a>.
api_limit_mass_actions: 10
default_internal_settings:
-
name: share_public
value: 1
section: entry
-
name: carrot
value: 1
section: entry
-
name: share_diaspora
value: 1
section: entry
-
name: diaspora_url
value: http://diasporapod.com
section: entry
-
name: share_unmark
value: 1
section: entry
-
name: unmark_url
value: https://unmark.it
section: entry
-
name: share_shaarli
value: 1
section: entry
-
name: share_scuttle
value: 1
section: entry
-
name: shaarli_url
value: http://myshaarli.com
section: entry
-
name: scuttle_url
value: http://scuttle.org
section: entry
-
name: share_mail
value: 1
section: entry
-
name: share_twitter
value: 1
section: entry
-
name: show_printlink
value: 1
section: entry
-
name: restricted_access
value: 0
section: entry
-
name: export_epub
value: 1
section: export
-
name: export_mobi
value: 1
section: export
-
name: export_pdf
value: 1
section: export
-
name: export_csv
value: 1
section: export
-
name: export_json
value: 1
section: export
-
name: export_txt
value: 1
section: export
-
name: export_xml
value: 1
section: export
-
name: import_with_redis
value: 0
section: import
-
name: import_with_rabbitmq
value: 0
section: import
-
name: piwik_enabled
value: 0
section: analytics
-
name: piwik_host
value: v2.wallabag.org
section: analytics
-
name: piwik_site_id
value: 1
section: analytics
-
name: demo_mode_enabled
value: 0
section: misc
-
name: demo_mode_username
value: wallabag
section: misc
-
name: download_images_enabled
value: 0
section: misc
-
name: wallabag_support_url
value: https://www.wallabag.org/pages/support.html
section: misc
-
name: wallabag_url
value: http://v2.wallabag.org
section: misc
-
name: api_user_registration
value: 0
section: api
wallabag_user:
registration_enabled: "%fosuser_registration%"

View file

@ -56,6 +56,7 @@ security:
access_control:
- { path: ^/api/doc, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/api/version, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/api/user, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/login, roles: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/register, role: IS_AUTHENTICATED_ANONYMOUSLY }
- { path: ^/resetting, role: IS_AUTHENTICATED_ANONYMOUSLY }