首页 > 解决方案 > 如何在 laravel 中验证 SignedRoute

问题描述

我创建了一个temporarySignedRoute并将其添加到另一个domain,并且在验证这条路线时我得到hasValidSignature了错误。我该如何克服呢?请检查代码部分并帮助我解决这个问题。谢谢。

<a href="{{$app_>url}}{{buildTemporarySignedRoute(user()->id)}}">

buildTemporarySignedRoute函数

function buildTemporarySignedRoute($u_id) {
    $route = URL::temporarySignedRoute('app.login', now()->addMinutes(5), ['u_id' => $u_id, false);
    return $route;
}

现在 URL 看起来像这样

https://example.com/app/1?expires=1623663883&signature=1d8a4d2fece7f4da590dfd1fa94b43fecc4edb6bc0c1bc12f08c9c43a531b92e

路线是这样的

Route::get('/app/{u_id:u_id}', [Test::class, 'app'])->name('app.login');

app功能是这样的

public function app($u_id, Request $request)
{
    if (!$request->hasValidSignature()) {
    //Now control is coming here
    }
}

我如何验证这一点?

标签: phplaravelvalidationurlroutes

解决方案


推荐阅读