当我点击laravel发送到我的gmail的电子邮件验证链接时,它会将我重定向到页面,页面上显示-403此操作未经授权
在我的laravel项目中,我成功地创建了身份验证。注册、登录和注销都可以正常工作。我做了电子邮件验证,它成功地将验证电子邮件发送给用户。但当我点击laravel发送给我的gmail的验证邮件时,它会将我重定向到一个页面,上面写着:403此操作未经授权 我使用的是Laravel7 web.php文件中的我的路线当我点击laravel发送到我的gmail的电子邮件验证链接时,它会将我重定向到页面,页面上显示-403此操作未经授权,laravel,email-verification,laravel-7,Laravel,Email Verification,Laravel 7,在我的laravel项目中,我成功地创建了身份验证。注册、登录和注销都可以正常工作。我做了电子邮件验证,它成功地将验证电子邮件发送给用户。但当我点击laravel发送给我的gmail的验证邮件时,它会将我重定向到一个页面,上面写着:403此操作未经授权 我使用的是Laravel7 web.php文件中的我的路线 Route::get('/', function () { return redirect(app()->getLocale()); }); Route::get('em
Route::get('/', function () {
return redirect(app()->getLocale());
});
Route::get('email/verify', 'Auth\VerificationController@show')->name('verification.notice');
Route::get('email/verify/{id}', 'Auth\VerificationController@verify')->name('verification.verify');
Route::post('email/resend', 'Auth\VerificationController@resend')->name('verification.resend');
Route::group([
"prefix" => "{language}",
'where' => ['locale' => '[a-zA-Z]{2}'],
'middleware' => 'setlocale'
], function () {
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
});
我手动设置电子邮件验证路由,因为当我设置
Auth::routes(['verify' => true]);
我遇到了一个错误,所以我在路由组外部手动设置了电子邮件验证以修复该错误
在verify.blade.php中,重新发送验证电子邮件也可以正常工作,它成功地重新发送了验证电子邮件。我已经解决了这个问题。问题是验证。验证路线是错误的 当你设定
Auth::routes(['verify' => true]);
实际的验证路径如下所示
email/verify/{id}/{hash}
verify.verify路由调用位于vendor\laravel\ui\auth backend\verifyesemails.php中的verify方法在该方法中有两个if语句引发AuthorizationException,导致403此操作为未授权页面。第一个if使用当前经过身份验证的用户id检查路由用户id,第二个if使用当前经过身份验证的用户哈希检查路由哈希
并使资源正确配置受信任的代理。
签入laravel文档单击
我希望这能对你有所帮助。我在我的案例中,我点击了错误的“验证电子邮件url”,因为我在谷歌的所有验证电子邮件都是在同一个“主题”下累积的,所以我没有点击最后一封邮件,而是点击了第一封邮件