如果临时签名 URL 包含 Laravel 6 中的端口,则临时签名 URL 将不起作用APP_URL



这很奇怪,因为如果我的APP_URL中没有:3000,它就可以正常工作。

$url = URL::temporarySignedRoute(
'verification.verify', Carbon::now()->addMinutes(60), ['user' => $notifiable->id]
);
return $url;
APP_URL=https://shadow-platform.test:3000
Route::get('email/verify/{user}', 'AuthVerificationController@verify')->name('verification.verify');

首先,您需要将新ValidateSignature添加到/app/Http/Kernel.php中的路由中间件中。

protected $routeMiddleware = [
// ...
'guest' => AppHttpMiddlewareRedirectIfAuthenticated::class,
+        'signed' => IlluminateRoutingMiddlewareValidateSignature::class,
'throttle' => IlluminateRoutingMiddlewareThrottleRequests::class,
];

然后你应该将->中间件('signed'(应用到你的路由

Route::get('email/verify/{user}', 'AuthVerificationController@verify')->name('verification.verify')->middleware('signed');

最新更新