Доступ к курсу "Symfony. Создание API-платформы." закрыт
![](
https://webkyrs.info/media/cache/squared_thumbnail_mini/uploads/avatars/photo_2022-05-23%2017.28-632d5ef6d3bcb.png
)
Автор: Vasiliy Bulykin
модификация данных через правку сеттера — это красиво.
но есть вопрос.
как с помощью апи платформы можно сохранять пароль, который хешируется средствами, собствено, symfony?
ведь для хеширования необходимо иметь не только plainPassword, но и самого user.
то есть нам нужно изнутри entity user получить этого самого юзера, которого мы в этот момент добавляем.
пока единственное, что я придумал — создавать пользователя, а потом отдельно обновлять пароль своей собственной апишкой. но есть ощущение, что это работающий, но неправильный путь :)
но есть вопрос.
как с помощью апи платформы можно сохранять пароль, который хешируется средствами, собствено, symfony?
ведь для хеширования необходимо иметь не только plainPassword, но и самого user.
то есть нам нужно изнутри entity user получить этого самого юзера, которого мы в этот момент добавляем.
пока единственное, что я придумал — создавать пользователя, а потом отдельно обновлять пароль своей собственной апишкой. но есть ощущение, что это работающий, но неправильный путь :)
![](
https://webkyrs.info/media/cache/squared_thumbnail_mini/uploads/avatars/myphoto3-6313569e96ee0.png
)
Автор: Дмитрий Ченгаев
Все верно. Здесь нужно применять другие инструменты.
В API Platform 3 появился State Processor
https://api-platform.com/docs/core/state-processors/
Можно в момент Patch или Post запроса захэшировать пароль.
Как альтернатива, можно также реализовать это через стандартные средства Symfony - Event Listeners
https://symfony.com/doc/current/event_dispatcher.html
В API Platform 3 появился State Processor
https://api-platform.com/docs/core/state-processors/
Можно в момент Patch или Post запроса захэшировать пароль.
Как альтернатива, можно также реализовать это через стандартные средства Symfony - Event Listeners
https://symfony.com/doc/current/event_dispatcher.html
Чтобы оставить сообщение, зарегистрируйтесь/войдите на сайт через:
Email - зарегистрироваться / войти