【发布时间】:2020-10-01 15:11:55
【问题描述】:
我有以下 ForgottenPasswordController
<?php
namespace App\Http\Controllers\v1;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\SendsPasswordResetEmails;
use Illuminate\Http\Request;
class ForgotPasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Password Reset Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password reset emails and
| includes a trait which assists in sending these notifications from
| your application to your users. Feel free to explore this trait.
|
*/
use SendsPasswordResetEmails;
protected function sendResetLinkResponse(Request $request, $response)
{
return response(['message' => $response]);
}
protected function sendResetLinkFailedResponse(Request $request, $response)
{
return response(['message' => $response], 422);
}
}
和下面的 ResetPasswordController
<?php
namespace App\Http\Controllers\v1;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Foundation\Auth\ResetsPasswords;
use Illuminate\Http\Request;
class ResetPasswordController extends Controller
{
/*
|--------------------------------------------------------------------------
| Password Reset Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling password reset requests
| and uses a simple trait to include this behavior. You're free to
| explore this trait and override any methods you wish to tweak.
|
*/
use ResetsPasswords;
protected function sendResetResponse(Request $request, $response)
{
return response(['message' => $response]);
}
protected function sendResetFailedResponse(Request $request, $response)
{
return response(['error' => $response], 422);
}
/**
* Where to redirect users after resetting their password.
*
* @var string
*/
protected $redirectTo = RouteServiceProvider::HOME;
}
当我向 forgotPasswordController 发出 axios 请求时,我收到了按预期发送的电子邮件。然后,当我将新密码以及电子邮件地址和令牌提交回 ResetPasswordController 时,我收到以下响应,
错误:“passwords.token”
在请求重置时进一步检查,password_resets 表中没有保存电子邮件或令牌,为什么会这样,我没有通过laravel/ui --auth 更改 Auth 脚手架中的任何内容,除了从 2 种方法做出响应是 json 而不是刀片视图。
【问题讨论】:
-
您是否在您的
composer require laravel/ui之后运行php artisan migrate? -
另外,如果您要覆盖这些方法,您必须自己翻译响应消息:
return response(['message' => trans($response)]);
标签: php laravel change-password