【发布时间】:2018-03-14 12:31:33
【问题描述】:
在github问题上发布了这个,但实际上它可能属于这里。
我正在稳步将 Symfony 应用升级到 S4,但在通过 REST API 更改密码方面遇到了一些障碍。
我当前的控制器基本上是从 FosUserBundle 中窃取的 (ChangePasswordController.php) 进行了一些更改,特别是禁用了 csrf,当然还返回了 json 响应而不是渲染模板。
随着 S4 中的新变化,我得到了预期的服务错误,但不幸的是,这些似乎无法通过依赖注入修复。出错的是FOS\UserBundle\Form\Factory\FactoryInterface - 我得到“无法自动装配服务”。
我知道这不会改变,但我也渴望找到前进的道路。今后通过 REST API 更新用户密码的推荐方法是什么?
到目前为止,我的想法是:
- 获取普通的“当前”密码,使用与捆绑包相同的机制对其进行哈希处理,然后比较哈希值以确保首先输入了正确的密码。
- 比较两个普通的“新”密码,确保它们匹配,然后使用
UserManager到setPlainPassword
这是一个糟糕的方式吗?
【问题讨论】:
标签: php symfony fosuserbundle