php - Laravel 8 中子域的签名 URL
问题描述
我正在尝试生成在 Laravel 8 中签名的 URL,以便应用程序的客户端可以取消事件而无需访问。我正在使用具有两个子域 foo.domain.com 和 bar.domain.com 的多租户。然而,Laravel 只为主域生成签名 URL。有什么方法可以改变 Laravel 的行为来理解和生成子域的签名 URL?
public function generateLink($id, $username, $whatsapp)
{
return Url::temporarySignedRoute('confirmpage', now()->addMinutes(20), [
'id' => $id,
'user' => $username,
'whatsapp' => $whatsapp
]);
}
解决方案
您应该在路由中配置动态域:
$domain = '{外部}'; Route::domain($domain)->group(function () { Route::name('external.')->group(function () { Route::name('verification.')->group(function () { Route::post('verification/verify/{id}/{hash}', [\App\Controllers\VerificationController::class, 'verify'])->name('verify'); }); }); });
然后覆盖它:
$verifyUrl = URL::temporarySignedRoute( 'external.verification.verify', Carbon::now()->addMinutes(config('access.verification.expires', 1440)), [ 'id' => $notifiable->getKey(), 'hash' => sha1($notifiable->getEmailForVerification()), '外部' => parse_url(env('MYAPP_URL'), PHP_URL_HOST), ] );
推荐阅读
- javascript - 从反应组件中查找和更改物化生成的 html 元素
- karate - 根据日志级别(WARN、INFO、DEBUG 等)在报告门户中不显示日志
- java - 2021-04-05T16:25:45.000+00:00 SimpleDateFormat 中的时间戳更改(“yyyy-MM-dd hh:mm:ss a”)
- html - 如何在闪亮中利用 navlistPanel 下方的空间?
- java - ElasticSearch BulkProcessor的工作,如果ES服务器和客户端服务器之间的链接波动怎么办
- kubernetes - 使用 kustomize 覆盖替换多个 gke 入口主机
- linux - 解压带有 ubifs 图像的 ubi 图像
- r - 使用 xlim 在 ggplot 中自定义 x 轴上的标签
- c# - ajax 调用由于某种原因不调用
- git - 如何在 GitHub Repo 中设置“此分支与基础分支已过时”