如何在Symfony 3中实现令牌认证?

时间:2017-01-10 15:03:16

标签: php symfony authentication token

我已经使用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进行身份验证,但似乎没有任何事情发生 - 我是匿名验证的。

真诚地感谢任何人都可以提供任何指导。

0 个答案:

没有答案