2016-08-16 3 views
0

Я использую для бэкенда моего приложения FOS User Bundle, FOS Rest Bundle и FOS Oauth Bundle. Они работают нормально. Теперь я хочу создать API, который позволяет моему приложению изменять свой пароль без старого поля пароля.symfony 2/3: как сбросить пароль через API?

Я искал в Интернете, но я не нашел документ/веб-страницу о том, как сменить пароль с помощью API или кода, но всегда без поля old_password.

Если не существует: если я создаю api, который получает (через $ request) пароль и пароль_confirm, как я могу его проверить? Я нашел только документы, для которых требуется старое поле пароля.

Спасибо.

+0

[Пример обновления пароля с использованием userManager без старого пароля] (http://stackoverflow.com/questions/15042988/change-password-of-another-user-using-fosuserbundle) – Carlos

+0

Привет, спасибо за комментарий, но первая строка этого кода (которую я видел перед записью моего сообщения): «Если вы хотите, чтобы администратор менял пароль другого пользователя», НО в моем посте я пишу, что позволяет моему приложению пользователя сменить пароль »... Не ADMIN. – ZioBudda

ответ

1
$user->setPlainPassword($new); 
$this->get('fos_user.user_manager')->updatePassword($user); 
$um->updateUser($user); 

У меня это работает на производственной среде. Очень похоже на другое предлагаемое решение. FosUserBundle не проверяет разрешения на выполнение этих операций, это ваша ответственность на уровне контроллера или пользовательского менеджера.

Смежные вопросы