Skip to content
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

use password hasher for make:registration & make:reset-password, includes other improvements #923

Merged
merged 1 commit into from
Jul 20, 2021

Conversation

jrushlow
Copy link
Collaborator

@jrushlow jrushlow commented Jul 5, 2021

Use the new password hasher if it exists, or fallback to the old password encoder for make:reset-password & make:registration.

  • introduces the concept of using ClassNameDetails objects in make:registration templates.
  • adds a new TemplateComponentsGenerator::getPropertyType($classNameDetails) object that simplifies using typed properties in templates.

contains @legacy tags for internal use:

  • Remove Generator::getControllerBaseClass() when FrameworkBundle min supported version >= 4.1
  • make:registration $passwordHasher conditional can be removed when min Symfony supported version >=5.3
  • make:reset-password $passwordHasher conditional can be removed when min Symfony supported version >=5.3
  • injected controller var's password_variable_name & use_password_hasher can be removed when min Symfony supported version >=5.3

refs #821

Copy link
Member

@weaverryan weaverryan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I like the aim for SURE - but I'm not convinced on the details yet :)

src/Maker/MakeRegistrationForm.php Outdated Show resolved Hide resolved
src/Generator.php Outdated Show resolved Hide resolved
@jrushlow jrushlow force-pushed the feature/password-hasher branch 2 times, most recently from 5ee7fc0 to d2b85d5 Compare July 19, 2021 16:55
@jrushlow jrushlow changed the title WIP - [make:registration] use password hasher and other improvements use password hasher for make:registration & make:reset-password, includes other improvements Jul 19, 2021
Copy link
Member

@weaverryan weaverryan left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks awesome! It's a much smaller/smoother update now. Just a small note about the legacy version

@@ -276,14 +274,24 @@ public function generate(InputInterface $input, ConsoleStyle $io, Generator $gen
'Controller\\'
);

/*
* @legacy Conditional can be removed when MakerBundle no longer
* supports Symfony < 6.0
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Couldn't we drop this once MakerBundle no longer supports 5.2? The thinking is: UserPasswordHasherInterface is new in 5.3. If an app is using 5.3, then we will ALWAYS give them the new class. So once MakerBundle requires 5.3 or higher, we can drop this. That's much sooner than 6.0 :)

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

agreed - i was thinking when the old interface is removed, not when the new one was added.. lets do it!

src/Maker/MakeResetPassword.php Outdated Show resolved Hide resolved
@weaverryan
Copy link
Member

Thanks Jesse!

@weaverryan weaverryan merged commit 09c8625 into symfony:main Jul 20, 2021
@jrushlow jrushlow mentioned this pull request Sep 24, 2021
weaverryan added a commit that referenced this pull request Sep 27, 2021
This PR was merged into the 1.0-dev branch.

Discussion
----------

[release] prep 1.34.0

# Release
Hi Makers!

This release contains a few new features, fixes, and improvements under the hood! Most notably, this release introduces PHP Attribute support for `make:entity` including entities using API Platform, support for the new Symfony Password Hasher in `make:reset-password`, & `make:registration`, and implements stronger return types where possible.

Diff: v1.33.0...v1.34.0

Happy making!

# Changelog

## [v1.34.0](https://github.com/symfony/maker-bundle/releases/tag/v1.34.0)

*September 27th, 2021*

### Feature

- [#978](#978) - Adding Entity attribute support - *`@simonmarx`*, *`@geekimo`*, *`@adlpz`*, *`@weaverryan`*, *`@jrushlow`*
- [#970](#970) - make PhpCompatUtil::getPhpVersion() public - *`@nikophil`*
- [#968](#968) - [make:entity] APIP: use new attribute if exists - *`@nikophil`*
- [#963](#963) - add return types for symfony 6 - *`@jrushlow`*
- [#925](#925) - [templates] Add void return types - *`@seb`-jean*
- [#923](#923) - use password hasher for make:registration & make:reset-password, includes other improvements - *`@jrushlow`*

### Bug Fix

- [#974](#974) - Fix method call definition - *`@ajgarlag`*
- [#973](#973) - Fix we we typo - *`@karser`*
- [#933](#933) - [make:entity] Remove deprecated json_array type from available list types. - *`@bdaler`*
- [#930](#930) - Add all missed dependencies to make:reset-password - *`@upyx`*
- [#870](#870) - [make:crud] Fix templates path use in include - *`@leblanc`-simon*

Commits
-------

2ba83b3 [release] prep 1.34.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants