2017-06-12 56 views
0

我請求API來檢查用戶,並且backurl將增加查詢參數令牌這樣的:Laravel如何刪除url查詢參數?

www.test.com?store_id=2&token = 123 

我想表明這

www.test.com?store_id=2 

我處理它在中間件,祝有一個方法刪除令牌之前return $next($request) 但我沒有找到該方法。我不能只用一些方法來刪除這個參數並重定向,它會產生一個重定向循環。 如果沒有更好的方法,也許我會在LoginController中創建一個新方法來刪除令牌並將其重定向到頁面I所在的位置。

+0

如何/在哪裏創建回調URL?你能向我們展示它背後的代碼嗎? – lesssugar

回答

2

你可以有某種全球中間件:

class RedirectIfTokenInRequest { 
     public function handle($request,$next) { 
      if ($request->token) { 
       return redirect()->to(url()->current().'?'.http_build_query($request->except("token"))); 
      } 
      return $next($request); 
     } 
} 

這將只是重定向,如果有一個令牌參數存在。如果您需要以某種方式存儲它,則可以使用session(["token" => $request->token]);在重定向之前存儲它。

+0

我不得不使用http_build_query,但除此之外,正是我需要的。 – sehummel

+0

@sehummel是的,這就是我的意思,我必須混淆函數名稱(更新) – apokryfos