临时签名URL赢得';如果应用程序URL包含Laravel 6中的端口,则无法工作
这很奇怪,因为如果我的临时签名URL赢得';如果应用程序URL包含Laravel 6中的端口,则无法工作,laravel,Laravel,这很奇怪,因为如果我的应用程序URL中没有:3000,它可以正常工作 $url = URL::temporarySignedRoute( 'verification.verify', Carbon::now()->addMinutes(60), ['user' => $notifiable->id] ); return $url; 首先,您需要将新的ValidateSignature添加到/app/Http/Ker
应用程序URL
中没有:3000
,它可以正常工作
$url = URL::temporarySignedRoute(
'verification.verify', Carbon::now()->addMinutes(60), ['user' => $notifiable->id]
);
return $url;
首先,您需要将新的
ValidateSignature
添加到/app/Http/Kernel.php
中的路由中间件中
protected $routeMiddleware = [
// ...
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
+ 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
];
然后,您应该将->中间件('signed')应用于您的路由
Route::get('email/verify/{user}', 'Auth\VerificationController@verify')->name('verification.verify')->middleware('signed');
您是否使用PHP的内置开发服务器(PHP artisan serve)?我使用的是Laravel Valet。默认情况下,HTTP服务器将侦听端口8000。我不熟悉Laravel代客泊车,但是,我想您可以指定使用哪个端口。
protected $routeMiddleware = [
// ...
'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class,
+ 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class,
'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class,
];
Route::get('email/verify/{user}', 'Auth\VerificationController@verify')->name('verification.verify')->middleware('signed');