現在Laravel + ReactでSPAアプリを構築しようと作業しています。
認証については、Laravel側のルーティング、コントローラで、以下のように実装しようと考えました。
Laravel側認証周り設定
web.php
1Auth::routes(); 2Route::get('/{any}', [App\Http\Controllers\HomeController::class, 'index'])->where('any', '.*')->name('home');
HomeController.php
1 public function __construct() 2 { 3 $this->middleware('auth'); 4 }
この形で、/login、/registerなどを除くルーティングは、
認証を必須とするイメージで実現できる想定でした。
本題
認証自体は問題なく動作するものの、認証後のリダイレクト先が、
http://localhost:8000/js/index.js.map
のように、ソースマップのURLがlocation.hrefに設定されるようでした。
※前述のルーティングにより、全てのルートをHomeControllerに拾う為、画面は変わらない。
この原因について、ご教示いただければと思います。
調査したこと
-
ログイン前画面、ログイン後の画面でJS(Laravel Mixによりバンドル済み)を読み込んでおり、
その中で、上記のソースマップを設定している。どうやらこいつが拾われている?
例)//# sourceMappingURL=index.js.map -
自動生成されるLoginControllerで$redirectToを設定しているが、無視されている。
-
sessionファイルのURL : previousに上記ソースマップが設定されている。
→前述のルーティングで、JS等ブラウザが読み込むURL全てを履歴としてスタックしてしまっている?
→ただ、リダイレクト先に url()->previous() が指定されるのはなぜ?
以上、恐れ入りますが御助力いただければ幸いです。
よろしくお願いいたします。
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。