簡體   English   中英

請求輸入在中間件中返回 null

[英]Request input returns null in Middleware

我正在通過中間件檢查有效令牌來保護路線,就像這樣;-

http://localhost:8097/init/my-secret-token


Route::get('/init/{token}', [MyController::class, 'init'])->middleware('validToken');


// Kernel.php
protected $routeMiddleware = [
    'validToken' => \App\Http\Middleware\EnsureTokenIsValid::class,
 ];


// App/Http/Middleware/EnsureTokenIsValid.php
class EnsureTokenIsValid
{

 public function handle(Request $request, Closure $next)
 {
    dd($request->input('token')); // returns null

    if($request->input('token') !== 'my-secret-token'){
        return redirect('home');
    }
    return $next($request);
 }
}

$request->input('token')由於某種原因返回null? 我嘗試了以下方法:-

http://localhost:8097/init/token/my-secret-token & http://localhost:8097/init?token=my-secret-token - 只收到 400

你有沒有嘗試過:

$request->route('token')

這應該直接從您的路線中獲取參數。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM