Laravel 10密码重置总是返回请等待重试

osh3o9ms  于 2023-04-22  发布在  其他
关注(0)|答案(1)|浏览(180)

我正在使用Laravel Breeze进行认证脚手架。我正在定制密码重置,以便我可以使用自己的电子邮件:
User模型中:

public function sendPasswordResetNotification($token): void
{
    $url = route('password.reset', ['token' => $token, 'email' => $this->email]);

    $message = (new ResetPassword($url))->onQueue('email');
    Mail::to($this->email)->queue($message);
}

ResetPassword Mailable中:

public function build()
{
    return $this->subject('Reset password - '.config('app.name'))
        ->from(config('app.contact_email'), config('app.name'))
        ->markdown('mail.user.reset-password', [
            'url' => $this->url,
        ]);
}

这一切工作得很好,链接的电子邮件去正确的路线.
但是每当我为用户重置密码时,它总是(即使是第一次尝试)返回错误:“请稍候重试。”
这似乎与节流有关,但我没有在那里定制任何东西。在config/auth中:

'passwords' => [
    'users' => [
        'provider' => 'users',
        'table' => 'password_resets',
        'expire' => 60,
        'throttle' => 60,
    ],
],
q8l4jmvw

q8l4jmvw1#

我猜你可能不小心在你的应用程序中的某个地方设置了速率限制。
1 .尝试检查您的服务提供商,例如RouteServiceProvider

protected function configureRateLimiting(): void
{
    RateLimiter::for('api', function (Request $request) {
        return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip());
    });
}

1.尝试签入PasswordResetLinkController

相关问题