2017-06-12 112 views
0

は、私は、ユーザーを確認するためのAPIを要求し、backurlは、クエリのparamこのようなトークン追加します。LaravelどのようにURLクエリのパラメータを削除するには?

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

は私がミドルウェアでそれを扱うこの

www.test.com?store_id=2 

は、私が望む表示したいのトークンの前にreturn $next($request) の前に削除する方法がありますが、この方法が見つかりませんでした。そして、私はこのパラメータをdelteしてリダイレクトするために何らかの方法を使うことはできません。それはリダイレクトループを作ります。 良い方法がない場合は、LoginControllerに新しいメソッドを作成して、トークンを削除し、ページのどこにリダイレクトするかを指定します。

+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

関連する問題