-
-
Notifications
You must be signed in to change notification settings - Fork 9.6k
[SecurityBundle] Passwords are not encoded when algorithm set to "true" #34738
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[SecurityBundle] Passwords are not encoded when algorithm set to "true" #34738
Conversation
Can we catch this earlier? imho, |
Sounds reasonable. I will take a look at the config validation. |
c2926d9
to
cdb0b49
Compare
I have reset my previous updates and change the configuration validation. |
src/Symfony/Bundle/SecurityBundle/DependencyInjection/MainConfiguration.php
Outdated
Show resolved
Hide resolved
src/Symfony/Bundle/SecurityBundle/DependencyInjection/MainConfiguration.php
Outdated
Show resolved
Hide resolved
851ffb9
to
d00464f
Compare
d00464f
to
cb429cd
Compare
5d593d5
to
83a5517
Compare
Rebased on 3.4 since it applies there. Congratz for your first contrib! |
Thank you @nieuwenhuisen. |
…set to "true" (nieuwenhuisen) This PR was merged into the 3.4 branch. Discussion ---------- [SecurityBundle] Passwords are not encoded when algorithm set to "true" | Q | A | ------------- | --- | Branch? | 3.4 | Bug fix? | yes | New feature? | no | Deprecations? | no | Tickets | Fix #34725 | License | MIT | Doc PR | - If the algorithm is set to `true`, password will be encode as plain password. ``` security: encoders: App\User\User: algorithm: true ``` The reason for this is the not strict comparison of php switches. ``` switch ($config['algorithm']) { case 'plaintext': } ``` `true == 'plaintext'` is `true`, so the first case is hit. My first solution was to cast the algorithm to a string, to prevent this. After some feedback I have catch this problem earlier and does not allow true as valid value to the algorithm option. Ps. This is my first PR for Symfony, any feedback is welcome :-)! Commits ------- 83a5517 [SecurityBundle] Passwords are not encoded when algorithm set to \"true\"
@nieuwenhuisen Thanks for fixing it! 👍 |
If the algorithm is set to
true
, password will be encode as plain password.The reason for this is the not strict comparison of php switches.
true == 'plaintext'
istrue
, so the first case is hit. My first solution was to cast the algorithm to a string, to prevent this. After some feedback I have catch this problem earlier and does not allow true as valid value to the algorithm option.Ps. This is my first PR for Symfony, any feedback is welcome :-)!