php - Laravel 电子邮件验证限制中间件过于严格
问题描述
我有一个用 Laravel 构建的 Web 应用程序,它是一个 API,在用户创建他们的帐户后,他们需要验证他们的电子邮件,他们通过点击前端上的一个按钮来执行此操作,该按钮向端点发送请求,现在,创建帐户是一个请求,然后登录的即时效果是一个新请求,但是由于某种原因,登录后尝试点击按钮发送电子邮件验证似乎会触发错误:
- 太多的尝试
它似乎只在debug设置为时出现false
,我试图了解油门中间件有什么问题?
这里是什么6,1
意思?
<?php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Auth;
use Illuminate\Http\Request;
use App\Http\Controllers\Controller;
use App\Providers\RouteServiceProvider;
use Illuminate\Auth\Events\Verified;
use Illuminate\Foundation\Auth\VerifiesEmails;
use Tymon\JWTAuth\Facades\JWTAuth;
use Illuminate\Support\Facades\Redirect;
use App\Models\User;
class VerificationController extends Controller
{
/*
|--------------------------------------------------------------------------
| Email Verification Controller
|--------------------------------------------------------------------------
|
| This controller is responsible for handling email verification for any
| user that recently registered with the application. Emails may also
| be re-sent if the user didn't receive the original email message.
|
*/
use VerifiesEmails;
/**
* Where to redirect users after verification.
*
* @var string
*/
protected $redirectTo = 'my-url';
/**
* Mark the authenticated user's email address as verified.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*
* @throws \Illuminate\Auth\Access\AuthorizationException
*/
public function verify(Request $request)
{
// sends the email, removed code for Stackoverflow as not needed
}
/**
* Resend the email verification notification.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function resend(Request $request)
{
// sends the email, removed code for Stackoverflow as not needed
}
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('auth:api')->only('resend');
$this->middleware('signed')->only('verify');
$this->middleware('throttle:6,1')->only('verify', 'resend');
}
}
如果我是对的,这6,1
意味着每分钟 6 个请求?所以不知道为什么它会立即以Too Many Attempts做出回应。
在本地我使用 Mailtrap,在生产中我使用 Mailgun。
解决方案
推荐阅读
- java - java - 在将记录插入表之前如何处理java中的非空字段
- c# - 使用 StreamReader 读取文件时读取固定数量的字节
- wordpress - 可湿性粉剂 | 计算字段表单中的双端队列样式
- java - DAO 模式和服务层的模型对象
- javascript - Regular expression of decimal range 0.025 to 99.999
- azure - QnA Maker - 运行时错误:授权失败
- javascript - 如何从外部将键名从 ViewBag 传递给 JQuery
- ios - 收据数据验证信息未提供
- javascript - 正则表达式模式重复
- css - IONIC Card 布局样式似乎不居中且不等间距