MakerBundle 1.15 был только что выпущен и поставляется с несколькими новыми производителями. Давайте взглянем!
Генерация полной, безопасной настройки пользователя с помощью make:reset-password
В MakerBundle уже было почти все необходимое для быстрой загрузки всей системы безопасности благодаря make:user
, make:auth
(для аутентификаторов) и make:registration-form
. Единственным распространенным отсутствующим элементом была система сброса пароля.
Теперь вы можете создать полнофункциональную и безопасную систему сброса пароля с помощью:
php bin/console make:reset-password
# ... несколько вопросов
created: src/Controller/ResetPasswordController.php
created: src/Entity/ResetPasswordRequest.php
created: src/Repository/ResetPasswordRequestRepository.php
updated: config/packages/reset_password.yaml
created: src/Form/ResetPasswordRequestFormType.php
created: src/Form/ChangePasswordFormType.php
created: templates/reset_password/check_email.html.twig
created: templates/reset_password/email.html.twig
created: templates/reset_password/request.html.twig
created: templates/reset_password/reset.html.twig
Задав несколько вопросов, вы получите все необходимое для сброса пароля пользователем: пользователь вводит свой адрес электронной почты в форму, ваше приложение отправляет электронное письмо с сообщением «сброс пароля», пользователь нажимает ссылку для одноразового использования, ссылка подтверждена, и пользователь может выбрать новый пароль. Просто зайдите /reset-password
и попробуйте!
За кулисами команда использует новый SymfonyCastsPasswordResetBundle для обработки чувствительных к безопасности (и скучных) частей процесса. Было приложено много усилий, чтобы сделать эту систему самой безопасной паролем сброса, включая функции, которые предотвращают атаки по времени, обеспечивают регулирование и предотвращают «утечку» токена сброса в JavaScript, немедленно удаляя его из URL.
Огромное спасибо за потрясающую работу, проделанную Джесси Рашлоу, который провел большую часть исследований и работал как над связкой, так и над командой. Спасибо также Ромарику Дригону, который потратил огромные усилия, чтобы начать это.
Сообщение, обработчик и маршрутизация с make:message
В комплекте также появилась новая команда, упрощающая генерацию сообщений Messenger. Это сгенерирует пустой класс сообщений, обработчик, который предварительно настроен для обработки этого сообщения, и направит ваше сообщение на транспорт в messenger.yaml
, если вы выберете эту опцию:
php bin/console make:message
The name of the message class (e.g. SendEmailMessage):
> CreateImageThumbnails
Which transport do you want to route your message to? [[no transport]]:
[0] [no transport]
[1] async
[2] async_high_priority
> 1
created: src/Message/CreateImageThumbnails.php
created: src/MessageHandler/CreateImageThumbnailsHandler.php
updated: config/packages/messenger.yaml
Спасибо Николя Филиппу за этот вклад!
make:messenger-middleware
Если вам нужно создать собственное промежуточное программное обеспечение Messenger, теперь вы также можете сгенерировать это:
php bin/console make:messenger-middleware
The name of the middleware class (e.g. CustomMiddleware):
> MyLoggingMiddleware
created: src/Middleware/MyLoggingMiddleware.php
Next:
- Add the middleware to your config/packages/messenger.yaml file
Спасибо Imad Zairig за этот вклад!