我已经使用Symfony 3构建了一个应用程序。我已经使用登录表单成功实现了身份验证。
目前我正在尝试实施重置密码功能。我有一个表单,用户输入他们的电子邮件地址。然后,它会向他们发送一封电子邮件,其中包含指向可以输入新密码的页面的链接。在允许用户输入新密码的页面上,我想使用令牌身份验证在此页面上对用户进行身份验证。
我的ApiKeyAuthenticator班级,ApiKeyUserProvider班级和security.yml档案。我在services.yml中添加了以下代码:
apikey_authenticator:
class: UrlBuilderBundle\Security\ApiKeyAuthenticator
arguments: ["@security.http_utils"]
public: false
api_key_user_provider:
class: UrlBuilderBundle\Security\ApiKeyUserProvider
arguments: ["@doctrine.orm.entity_manager"]
我有忘记密码功能的以下路线:
request_password:
path: /request-password
defaults: { _controller: "UrlBuilderBundle:Security:requestResetPassword" }
methods: [GET, POST]
reset_password:
path: /reset-password/{apikey}
defaults: { _controller: "UrlBuilderBundle:Security:resetPassword" }
methods: [GET, POST]
我的用户实体类中有一个令牌属性。当我浏览到重置密码页面时,我希望使用请求参数中的apikey进行身份验证,但似乎没有任何事情发生 - 我是匿名验证的。
真诚地感谢任何人都可以提供任何指导。