From ef3fa6e0362c650dec79f52a94b3644e31a124bb Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C3=A9r=C3=B4me=20Benoit?= Date: Wed, 27 Jun 2018 12:55:11 +0200 Subject: [PATCH] Add security bundle for adding basic HTTP auth to the API. MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Signed-off-by: Jérôme Benoit --- composer.json | 1 + composer.lock | 244 ++++++++++++++++++++++++++++++++++++++++++--- config/bundles.php | 1 + symfony.lock | 15 +++ 4 files changed, 247 insertions(+), 14 deletions(-) diff --git a/composer.json b/composer.json index 774fee5..ef780ba 100644 --- a/composer.json +++ b/composer.json @@ -14,6 +14,7 @@ "symfony/flex": "^1.0", "symfony/framework-bundle": "^4.1", "symfony/lts": "^4@dev", + "symfony/security-bundle": "^4.1", "symfony/yaml": "^4.1" }, "require-dev": { diff --git a/composer.lock b/composer.lock index dc869da..e0bf24d 100644 --- a/composer.lock +++ b/composer.lock @@ -4,7 +4,7 @@ "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file", "This file is @generated automatically" ], - "content-hash": "67bb25eed302937fdc1ca7b91a352316", + "content-hash": "b8c3ae46c2d8fe5118889c4b43aa7739", "packages": [ { "name": "doctrine/annotations", @@ -2417,6 +2417,64 @@ "homepage": "https://symfony.com", "time": "2018-06-25T13:06:45+00:00" }, + { + "name": "symfony/inflector", + "version": "v4.1.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/inflector.git", + "reference": "a55513ebd8aa4843300e325c84d0954a9d1f4ed8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/inflector/zipball/a55513ebd8aa4843300e325c84d0954a9d1f4ed8", + "reference": "a55513ebd8aa4843300e325c84d0954a9d1f4ed8", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/polyfill-ctype": "~1.8" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\Inflector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony Inflector Component", + "homepage": "https://symfony.com", + "keywords": [ + "inflection", + "pluralize", + "singularize", + "string", + "symfony", + "words" + ], + "time": "2018-05-01T23:02:13+00:00" + }, { "name": "symfony/lts", "version": "dev-master", @@ -2569,6 +2627,73 @@ ], "time": "2018-04-26T10:06:28+00:00" }, + { + "name": "symfony/property-access", + "version": "v4.1.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/property-access.git", + "reference": "f957d37eb476c9442a0c684b0cd0dd1fb38cb74a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/property-access/zipball/f957d37eb476c9442a0c684b0cd0dd1fb38cb74a", + "reference": "f957d37eb476c9442a0c684b0cd0dd1fb38cb74a", + "shasum": "" + }, + "require": { + "php": "^7.1.3", + "symfony/inflector": "~3.4|~4.0" + }, + "require-dev": { + "symfony/cache": "~3.4|~4.0" + }, + "suggest": { + "psr/cache-implementation": "To cache access methods." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Component\\PropertyAccess\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony PropertyAccess Component", + "homepage": "https://symfony.com", + "keywords": [ + "access", + "array", + "extraction", + "index", + "injection", + "object", + "property", + "property path", + "reflection" + ], + "time": "2018-05-30T07:26:09+00:00" + }, { "name": "symfony/routing", "version": "v4.1.1", @@ -2647,37 +2772,48 @@ "time": "2018-06-19T21:38:16+00:00" }, { - "name": "symfony/security-core", + "name": "symfony/security", "version": "v4.1.1", "source": { "type": "git", - "url": "https://github.com/symfony/security-core.git", - "reference": "27a4e0f3b58464d17800f19c0950c4be531fd15c" + "url": "https://github.com/symfony/security.git", + "reference": "fa46e38ff4dea2d3949630efd33ed73e2ac0850a" }, "dist": { "type": "zip", - "url": "https://api.github.com/repos/symfony/security-core/zipball/27a4e0f3b58464d17800f19c0950c4be531fd15c", - "reference": "27a4e0f3b58464d17800f19c0950c4be531fd15c", + "url": "https://api.github.com/repos/symfony/security/zipball/fa46e38ff4dea2d3949630efd33ed73e2ac0850a", + "reference": "fa46e38ff4dea2d3949630efd33ed73e2ac0850a", "shasum": "" }, "require": { - "php": "^7.1.3" + "php": "^7.1.3", + "symfony/event-dispatcher": "~3.4|~4.0", + "symfony/http-foundation": "~3.4|~4.0", + "symfony/http-kernel": "~3.4|~4.0", + "symfony/property-access": "~3.4|~4.0" + }, + "replace": { + "symfony/security-core": "self.version", + "symfony/security-csrf": "self.version", + "symfony/security-guard": "self.version", + "symfony/security-http": "self.version" }, "require-dev": { "psr/container": "^1.0", "psr/log": "~1.0", - "symfony/event-dispatcher": "~3.4|~4.0", "symfony/expression-language": "~3.4|~4.0", - "symfony/http-foundation": "~3.4|~4.0", + "symfony/finder": "~3.4|~4.0", "symfony/ldap": "~3.4|~4.0", + "symfony/polyfill-intl-icu": "~1.0", + "symfony/routing": "~3.4|~4.0", "symfony/validator": "~3.4|~4.0" }, "suggest": { "psr/container-implementation": "To instantiate the Security class", - "symfony/event-dispatcher": "", "symfony/expression-language": "For using the expression voter", - "symfony/http-foundation": "", - "symfony/ldap": "For using LDAP integration", + "symfony/form": "", + "symfony/ldap": "For using the LDAP user and authentication providers", + "symfony/routing": "For using the HttpUtils class to create sub-requests, redirect the user, and match URLs", "symfony/validator": "For using the user password constraint" }, "type": "library", @@ -2688,7 +2824,7 @@ }, "autoload": { "psr-4": { - "Symfony\\Component\\Security\\Core\\": "" + "Symfony\\Component\\Security\\": "" }, "exclude-from-classmap": [ "/Tests/" @@ -2708,10 +2844,90 @@ "homepage": "https://symfony.com/contributors" } ], - "description": "Symfony Security Component - Core Library", + "description": "Symfony Security Component", "homepage": "https://symfony.com", "time": "2018-06-22T08:59:39+00:00" }, + { + "name": "symfony/security-bundle", + "version": "v4.1.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/security-bundle.git", + "reference": "58c0db1915ab9c54c013d9336cace46f9e02cbb2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/security-bundle/zipball/58c0db1915ab9c54c013d9336cace46f9e02cbb2", + "reference": "58c0db1915ab9c54c013d9336cace46f9e02cbb2", + "shasum": "" + }, + "require": { + "ext-xml": "*", + "php": "^7.1.3", + "symfony/dependency-injection": "^3.4.3|^4.0.3", + "symfony/http-kernel": "^4.1", + "symfony/security": "^4.1.1" + }, + "conflict": { + "symfony/console": "<3.4", + "symfony/event-dispatcher": "<3.4", + "symfony/framework-bundle": "<4.1.1", + "symfony/var-dumper": "<3.4" + }, + "require-dev": { + "doctrine/doctrine-bundle": "~1.5", + "symfony/asset": "~3.4|~4.0", + "symfony/browser-kit": "~3.4|~4.0", + "symfony/console": "~3.4|~4.0", + "symfony/css-selector": "~3.4|~4.0", + "symfony/dom-crawler": "~3.4|~4.0", + "symfony/event-dispatcher": "~3.4|~4.0", + "symfony/expression-language": "~3.4|~4.0", + "symfony/form": "~3.4|~4.0", + "symfony/framework-bundle": "~4.1", + "symfony/http-foundation": "~3.4|~4.0", + "symfony/process": "~3.4|~4.0", + "symfony/translation": "~3.4|~4.0", + "symfony/twig-bridge": "~3.4|~4.0", + "symfony/twig-bundle": "~3.4|~4.0", + "symfony/validator": "~3.4|~4.0", + "symfony/var-dumper": "~3.4|~4.0", + "symfony/yaml": "~3.4|~4.0", + "twig/twig": "~1.34|~2.4" + }, + "type": "symfony-bundle", + "extra": { + "branch-alias": { + "dev-master": "4.1-dev" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Bundle\\SecurityBundle\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony SecurityBundle", + "homepage": "https://symfony.com", + "time": "2018-06-25T11:12:43+00:00" + }, { "name": "symfony/templating", "version": "v4.1.1", diff --git a/config/bundles.php b/config/bundles.php index b03f1c8..e6cf935 100644 --- a/config/bundles.php +++ b/config/bundles.php @@ -8,4 +8,5 @@ return [ Doctrine\Bundle\DoctrineBundle\DoctrineBundle::class => ['all' => true], Sensio\Bundle\FrameworkExtraBundle\SensioFrameworkExtraBundle::class => ['all' => true], Symfony\Bundle\WebServerBundle\WebServerBundle::class => ['dev' => true], + Symfony\Bundle\SecurityBundle\SecurityBundle::class => ['all' => true], ]; diff --git a/symfony.lock b/symfony.lock index b038dbb..344b888 100644 --- a/symfony.lock +++ b/symfony.lock @@ -161,6 +161,9 @@ "symfony/http-kernel": { "version": "v4.1.0" }, + "symfony/inflector": { + "version": "v4.1.1" + }, "symfony/lts": { "version": "4-dev" }, @@ -170,6 +173,9 @@ "symfony/process": { "version": "v4.1.1" }, + "symfony/property-access": { + "version": "v4.1.1" + }, "symfony/routing": { "version": "4.0", "recipe": { @@ -179,6 +185,15 @@ "ref": "cda8b550123383d25827705d05a42acf6819fe4e" } }, + "symfony/security-bundle": { + "version": "3.3", + "recipe": { + "repo": "github.com/symfony/recipes", + "branch": "master", + "version": "3.3", + "ref": "f8a63faa0d9521526499c0a8f403c9964ecb0527" + } + }, "symfony/security-core": { "version": "v4.1.1" }, -- 2.34.1