php Laravel Middleware将查询字符串添加到传入请求

n9vozmp4  于 2023-10-15  发布在  PHP
关注(0)|答案(2)|浏览(94)

我与另一个有自己SDK的系统集成。SDK使用工作正常的查询字符串参数进行身份验证。然而,我们正在更新集成以使用更多的应用程序,但由于重定向,它丢失了所需的查询字符串。
我们有一个在传入请求上设置的会话变量,我们可以使用它来标记何时应该追加查询字符串,但需要在最高级别完成,以防止需要在多个地方检查它。我试过中间件,但它似乎不添加查询字符串。
有人有什么想法吗?
创建中间件并注册它。尝试以下代码:

URL::defaults(['test'=>'test']);
$request->merge(['test'=>'test']);
$request->fullUrlWithQuery(['test' => 'test']);

所需要的是传入请求和后续重定向从http://example.com/submissions更改为http://example.com/submissions?test=test

xu3bshqb

xu3bshqb1#

如果想将会话变量附加到查询中,请使用简单的方法。

$url = $request->fullUrl();
if (str_contains($url, '?')) {
    $url .= '&test=test';
} else {
    $url .= '?test=test';
}
return redirect($url);
drkbr07n

drkbr07n2#

$request = Request::capture();
    $url = $request->url();

    if (strpos($url, '?') !== false) {
        $url .= '&test=test';
    } else {
        $url .= '?test=test';
    }

相关问题