Laravel 8.7 认证邮件必须登录,如何绕过这个限制?
1. 运行环境
1). 当前使用的 Laravel 版本?
8.7
2). 当前使用的 php/php-fpm 版本?
PHP 版本:7.3
php-fpm 版本:
3). 当前系统
CentOS 7
4). 业务环境
开发环境
5). 相关软件版本
Nginx
2. 问题描述?
Route::get('/email/verify/{id}/{hash}', function (EmailVerificationRequest $request) {
$request->fulfill();
return redirect('/home');
})->middleware(['auth', 'signed'])->name('verification.verify');
利用了官方的邮件认证链接,中间件要求必须登录以后才能实现邮箱的认证,如何才能绕过这个中间件登录的要求。如果直接去掉 ‘auth’ 这个认证链接会报错。
3. 您期望得到的结果?
实现点击激活链接,直接激活邮件,而不是需要登录以后才能激活邮件地址。登录场景和查看邮箱的场景不在一个浏览器里面。当然不希望重新方法啥的,如何简单高效的实现呢?
4. 您实际得到的结果?
没有修改验证码的url 把验证url规则重写了一下
去掉了
if (! hash_equals((string) $this->route('id'),
(string) $this->user()->getKey())) {
return false;
}
推荐文章: