Commit Graph

40217 Commits

Author SHA1 Message Date
Fabien Potencier
0fa01aeda1 feature #37336 [Security] Let security factories add firewall listeners (scheb)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Security] Let security factories add firewall listeners

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | yes
| Deprecations? | no
| License       | MIT
| Doc PR        | n/a

Hello there, I'm the author of `scheb/two-factor-bundle`, which extends Symfony's security layer with two-factor authentication. I've been closely following the recent changes by @wouterj to rework the security layer with "authenticators" (great work!). While I managed to make my bundle work with authenticators, I see some limitations in the security layer that I'd like to address to make such extensions easier to implement.

With the new authenticator-based security system, it is no longer possible to add a authentication listener to the firewall. The only way to do it is a dirty compiler pass, which extends the argument on the `security.firewall.map.context.[firewallName]` service (like I do in: ed2ce9804b/src/bundle/DependencyInjection/Compiler/AccessListenerCompilerPass.php). This is quite ugly and hacky, so I believe there should be an easier and clean way to add firewall-level listeners. This PR adds an interface, which may be implemented by security factories and lets them add additional listeners to the firewall.

Why would you want to do that? There are certain use-cases that require extra logic to handle a request within the firewall. For example in my bundle, I need to handle the intermediate state between login and the completion of two-factor authentication. So ideally, I'm able to execute some code from the firewall right before `Symfony\Component\Security\Http\Firewall\AccessListener`. In the old security system, I could handle this in my authentication listener, which I had to implement anyways. With the new authenticator-based system this option is gone. In the ideal world, I could add a firewall listener and tell it to execute between `LogoutListener` and `AccessListener`.

This is a draft, so I'd like to hear your opinion on this :)

There's another issue, regarding the order of execution, which I'm addressing with #37337.

Commits
-------

0a4fcea8db Add interface to let security factories add their own firewall listeners
2020-06-20 17:05:14 +02:00
Fabien Potencier
3267e8e66f feature #37318 [Security] Add attributes on Passport (fabpot)
This PR was merged into the 5.2-dev branch.

Discussion
----------

[Security] Add attributes on Passport

| Q             | A
| ------------- | ---
| Branch?       | master <!-- see below -->
| Bug fix?      | no
| New feature?  | yes <!-- please update src/**/CHANGELOG.md files -->
| Deprecations? | no <!-- please update UPGRADE-*.md and src/**/CHANGELOG.md files -->
| Tickets       | n/a <!-- prefix each issue number with "Fix #", if any -->
| License       | MIT
| Doc PR        | not yet

see https://github.com/symfonycorp/connect/pull/95
/cc @wouterj

Commits
-------

440ada3c5f [Security] Add attributes on Passport
2020-06-20 17:04:28 +02:00
Nicolas Grekas
6ad781c834 Merge branch '5.1'
* 5.1:
  [DI] fix merge
2020-06-20 10:55:06 +02:00
Nicolas Grekas
71b65d4e70 [DI] fix merge 2020-06-20 10:54:56 +02:00
Nicolas Grekas
f0fa3b0702 Merge branch '5.1'
* 5.1:
  [SecurityBundle] Drop cache.security_expression_language definition if invalid
  [DI] disable preload.php on the CLI
  collect all transformation failures
2020-06-20 10:35:01 +02:00
Nicolas Grekas
4e0b7e5d5b Merge branch '5.0' into 5.1
* 5.0:
  [SecurityBundle] Drop cache.security_expression_language definition if invalid
  [DI] disable preload.php on the CLI
  collect all transformation failures
2020-06-20 10:33:33 +02:00
Nicolas Grekas
8afd50ecca Merge branch '4.4' into 5.0
* 4.4:
  [SecurityBundle] Drop cache.security_expression_language definition if invalid
  [DI] disable preload.php on the CLI
  collect all transformation failures
2020-06-20 10:32:35 +02:00
Nicolas Grekas
c815e7632a Merge branch '3.4' into 4.4
* 3.4:
  collect all transformation failures
2020-06-20 10:31:25 +02:00
Fabien Potencier
440ada3c5f [Security] Add attributes on Passport 2020-06-20 09:18:00 +02:00
Robin Chalas
bc96693331 [SecurityBundle] Drop cache.security_expression_language definition if invalid 2020-06-19 21:56:07 +02:00
Christian Scheb
0a4fcea8db Add interface to let security factories add their own firewall listeners 2020-06-19 15:34:25 +02:00
Nicolas Grekas
50ccf2f1b2 [DI] disable preload.php on the CLI 2020-06-19 15:00:29 +02:00
Tobias Schultze
f92fc2054e fix annotations config xml to php migration 2020-06-19 13:31:44 +02:00
Baptiste Lafontaine
8374c35a6a Migration annotations configuration to PHP 2020-06-19 12:56:55 +02:00
Tobias Schultze
c04884bee3 minor #37303 Move configuration to PHP (tuanminhgp)
This PR was squashed before being merged into the 5.2-dev branch.

Discussion
----------

Move configuration to PHP

| Q             | A
| ------------- | ---
| Branch?       | master
| Bug fix?      | no
| New feature?  | no
| Deprecations? | no
| Tickets       | Part pf #37186
| License       | MIT
| Doc PR        | -

Commits
-------

1132d404b0 Move configuration to PHP
2020-06-19 12:31:57 +02:00
tuanminh1997
1132d404b0 Move configuration to PHP 2020-06-19 12:31:46 +02:00
Christian Flothmann
a9987ce341 collect all transformation failures 2020-06-19 08:23:51 +02:00
Nicolas Grekas
3f91ac04fe Merge branch '5.1'
* 5.1:
  fix
2020-06-18 23:37:39 +02:00
Nicolas Grekas
f768dc7aaf fix 2020-06-18 23:37:09 +02:00
Nicolas Grekas
e14aeddd53 Merge branch '5.1'
* 5.1:
  fix test
  Added Unit tests for php 8 union types.
2020-06-18 23:19:34 +02:00
Nicolas Grekas
eb150febaf Merge branch '5.0' into 5.1
* 5.0:
  fix test
  Added Unit tests for php 8 union types.
2020-06-18 23:19:28 +02:00
Nicolas Grekas
723be72706 Merge branch '4.4' into 5.0
* 4.4:
  fix test
  Added Unit tests for php 8 union types.
2020-06-18 23:17:00 +02:00
Nicolas Grekas
64f280586b Merge branch '3.4' into 4.4
* 3.4:
  Added Unit tests for php 8 union types.
2020-06-18 22:41:34 +02:00
Nicolas Grekas
e707967ea8 minor #37346 Added Unit tests for php 8 union types (derrabus)
This PR was merged into the 3.4 branch.

Discussion
----------

Added Unit tests for php 8 union types

| Q             | A
| ------------- | ---
| Branch?       | 3.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | N/A
| License       | MIT
| Doc PR        | N/A

The missing test cases for #37340.

Commits
-------

2ca8ecdb74 Added Unit tests for php 8 union types.
2020-06-18 22:40:01 +02:00
Nicolas Grekas
96723297b8 Merge branch '5.1'
* 5.1:
  [Cache] fix test
2020-06-18 22:36:39 +02:00
Nicolas Grekas
8df623e830 [Cache] fix test 2020-06-18 22:36:30 +02:00
Alexander M. Turek
2ca8ecdb74 Added Unit tests for php 8 union types. 2020-06-18 22:30:22 +02:00
Nicolas Grekas
529863a947 Merge branch '5.1'
* 5.1:
  [PropertyAccess] fix typo
2020-06-18 22:06:41 +02:00
Nicolas Grekas
04e6b995d9 [PropertyAccess] fix typo 2020-06-18 22:06:29 +02:00
Nicolas Grekas
092632dc14 Merge branch '5.1'
* 5.1: (28 commits)
  [DI] fix
  Use "composer/package-versions-deprecated" when possible
  Fix
  Small update in our internal terminology
  Fix support for PHP8 union types
  [VarDumper] fix typo
  [Lock][Messenger] Fix precedence of DSN options for 5.1
  Fix support for PHP8 union types
  [FrameworkBundle] preserve dots in query-string when redirecting
  [3.4] Fix support for PHP8 union types
  [PhpUnitBridge] Streamline ansi/no-ansi of composer according to phpunit --colors option
  [3.4] Small update in our internal terminology
  [Cache] fix compat with DBAL v3
  Remove unnecessary null check
  [HttpFoundation] Allow `null` in InputBag@set
  [HttpClient] Convert CurlHttpClient::handlePush() to instance method
  Fix package rename when releasing
  bumped Symfony version to 5.1.3
  updated VERSION for 5.1.2
  updated CHANGELOG for 5.1.2
  ...
2020-06-18 21:55:03 +02:00
Nicolas Grekas
eea6abf318 Merge branch '5.0' into 5.1
* 5.0:
  [DI] fix
  Use "composer/package-versions-deprecated" when possible
  Fix
2020-06-18 21:54:27 +02:00
Nicolas Grekas
f3d9cfe8db Merge branch '4.4' into 5.0
* 4.4:
  [DI] fix
  Use "composer/package-versions-deprecated" when possible
  Fix
2020-06-18 21:53:24 +02:00
Nicolas Grekas
d2efe50eee [DI] fix 2020-06-18 21:50:30 +02:00
Nicolas Grekas
03b9ff177d Use "composer/package-versions-deprecated" when possible 2020-06-18 21:48:48 +02:00
Nicolas Grekas
172d6400e3 Merge branch '3.4' into 4.4
* 3.4:
  Fix
2020-06-18 21:38:14 +02:00
Nicolas Grekas
8bbbdbe745 Fix 2020-06-18 21:30:53 +02:00
Nicolas Grekas
01b5b8312b minor #37289 [5.1] Fix support for PHP8 union types (nicolas-grekas)
This PR was merged into the 5.1 branch.

Discussion
----------

[5.1] Fix support for PHP8 union types

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        | -

Same as #37340 for 5.1

Commits
-------

dd1b61703f Fix support for PHP8 union types
2020-06-18 21:00:54 +02:00
Nyholm
00682acdea Small update in our internal terminology 2020-06-18 20:43:12 +02:00
Nicolas Grekas
dd1b61703f Fix support for PHP8 union types 2020-06-18 20:40:13 +02:00
Nicolas Grekas
2121c55b02 Merge branch '5.0' into 5.1
* 5.0:
  [VarDumper] fix typo
  Fix support for PHP8 union types
  [FrameworkBundle] preserve dots in query-string when redirecting
  [3.4] Fix support for PHP8 union types
  [PhpUnitBridge] Streamline ansi/no-ansi of composer according to phpunit --colors option
  [3.4] Small update in our internal terminology
  [Cache] fix compat with DBAL v3
  [HttpClient] Convert CurlHttpClient::handlePush() to instance method
  [VarDumper] Fix CliDumper coloration
  [DI] tighten detection of local dirs to prevent false positives
  [FrameworkBundle] preserve dots in query-string when redirecting
  Fix precendence in 4.4
  bumped Symfony version to 3.4.43
  updated VERSION for 3.4.42
  update CONTRIBUTORS for 3.4.42
  updated CHANGELOG for 3.4.42
2020-06-18 20:24:02 +02:00
Nicolas Grekas
3074cb0594 Merge branch '4.4' into 5.0
* 4.4:
  [VarDumper] fix typo
  Fix support for PHP8 union types
  [FrameworkBundle] preserve dots in query-string when redirecting
  [3.4] Fix support for PHP8 union types
  [PhpUnitBridge] Streamline ansi/no-ansi of composer according to phpunit --colors option
  [3.4] Small update in our internal terminology
  [Cache] fix compat with DBAL v3
  [HttpClient] Convert CurlHttpClient::handlePush() to instance method
  [VarDumper] Fix CliDumper coloration
  [DI] tighten detection of local dirs to prevent false positives
  [FrameworkBundle] preserve dots in query-string when redirecting
  Fix precendence in 4.4
  bumped Symfony version to 3.4.43
  updated VERSION for 3.4.42
  update CONTRIBUTORS for 3.4.42
  updated CHANGELOG for 3.4.42
2020-06-18 20:18:56 +02:00
Nicolas Grekas
2eb3c0eb7f [VarDumper] fix typo 2020-06-18 20:15:32 +02:00
Nicolas Grekas
453c3a7187 bug #37268 [Messenger] Fix precedence of DSN options for 4.4 (jderusse)
This PR was merged into the 4.4 branch.

Discussion
----------

[Messenger] Fix precedence of DSN options for 4.4

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | https://github.com/symfony/symfony/pull/37218#discussion_r438779225
| License       | MIT
| Doc PR        | N/A

This PR fix précédence of DSN options over constructor options in all component on branch 4.4

Commits
-------

992205a759 Fix precendence in 4.4
2020-06-18 20:10:55 +02:00
Nicolas Grekas
ab24fb9181 bug #37269 [Lock][Messenger] Fix precedence of DSN options for 5.1 (jderusse)
This PR was squashed before being merged into the 5.1 branch.

Discussion
----------

[Lock][Messenger] Fix precedence of DSN options for 5.1

| Q             | A
| ------------- | ---
| Branch?       | 5.1
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | https://github.com/symfony/symfony/pull/37218#discussion_r438779225
| License       | MIT
| Doc PR        | N/A

This PR fix précédence of DSN options over constructor options in all component on branch 5.1

Commits
-------

9670e9ff06 [Lock][Messenger] Fix precedence of DSN options for 5.1
2020-06-18 20:09:38 +02:00
Jérémy Derussé
9670e9ff06 [Lock][Messenger] Fix precedence of DSN options for 5.1 2020-06-18 20:07:42 +02:00
Nicolas Grekas
a6e3789882 bug #37341 [4.4] Fix support for PHP8 union types (nicolas-grekas)
This PR was merged into the 4.4 branch.

Discussion
----------

[4.4] Fix support for PHP8 union types

| Q             | A
| ------------- | ---
| Branch?       | 4.4
| Bug fix?      | yes
| New feature?  | no
| Deprecations? | no
| Tickets       | -
| License       | MIT
| Doc PR        | -

Same as #37340 for 4.4

Commits
-------

da68e66a99 Fix support for PHP8 union types
2020-06-18 20:03:52 +02:00
Nicolas Grekas
da68e66a99 Fix support for PHP8 union types 2020-06-18 19:59:13 +02:00
Nicolas Grekas
3d0d59de20 [FrameworkBundle] preserve dots in query-string when redirecting 2020-06-18 19:56:41 +02:00
Nicolas Grekas
7eca3a5970 Merge branch '3.4' into 4.4
* 3.4:
  [3.4] Fix support for PHP8 union types
  [PhpUnitBridge] Streamline ansi/no-ansi of composer according to phpunit --colors option
  [3.4] Small update in our internal terminology
  [Cache] fix compat with DBAL v3
  [VarDumper] Fix CliDumper coloration
  [DI] tighten detection of local dirs to prevent false positives
  [FrameworkBundle] preserve dots in query-string when redirecting
  bumped Symfony version to 3.4.43
  updated VERSION for 3.4.42
  update CONTRIBUTORS for 3.4.42
  updated CHANGELOG for 3.4.42
2020-06-18 19:51:13 +02:00
Nicolas Grekas
e09372bcbf [3.4] Fix support for PHP8 union types 2020-06-18 19:32:39 +02:00