使用Laravel重置密码时无效的令牌

时间:2016-09-15 10:05:36

标签: php laravel satellizer

我使用带有Laravel的Satellizer进行身份验证,我在我的数据库上有一个名为password_resets的表,其中包含以下字段:id,email,token,我能够提交重置链接并将令牌添加到此表中,但是当它出现时来更改它返回无效令牌的密码。

只是你知道,我不太确定,我甚至不相信,只有当password_resets表上的行数超过30-40时才会出现问题,例如,如果我删除所有记录它工作得很好......很奇怪!

我的后端代码如下所示:

public function postReset(Request $request)
    {
        $this->validate($request, [
            'token' => 'required',
            'email' => 'required|email',
            'password' => 'required|confirmed',
        ]);

        $credentials = $request->only(
            'email', 'password', 'password_confirmation', 'token'
        );

        $response = $this->passwords->reset($credentials, function ($user, $password) {
            $user->password = bcrypt($password);

            $user->save();

            $this->auth->login($user);
        });


        switch ($response) {
            case PasswordBroker::PASSWORD_RESET:
                return Response::json(array('success' => true));

            default:
                return Response::json(array('success' => false, 'message' => $response));
        }
    }

所以它总是进入默认的stm,并带有无效令牌的消息。

0 个答案:

没有答案