jetstream + livewire 로 스캐폴딩하였는데 로그인 후 항상 ‘/’ 또는 ‘/dashboard’ 로만 간다.
검색결과 해결방법이 있었다.
1. \App\Providers\JetstreamServiceProvider.php
[code]
…
public function boot()
{
$this->configurePermissions();
Jetstream::deleteUsersUsing(DeleteUser::class);
// 로그인 뷰에 이전 페이지 url을 session 으로 굽는다
Fortify::loginView(function () {
if (session(‘link’)) {
$myPath = session(‘link’);
$loginPath = url(‘/login’);
$previous = url()->previous();
if ($previous == $loginPath) {
session([‘link’ => $myPath]);
} else {
session([‘link’ => $previous]);
}
} else {
session([‘link’ => url()->previous()]);
}
return view(‘auth.login’);
});
// LoginResponse 바인딩 교체
$this->app->singleton(
\Laravel\Fortify\Contracts\LoginResponse::class,
\App\Http\Responses\LoginResponse::class
);
}
…
[/code]
2. \App\Http\Responses\LoginResponse.php
[code]
<?php
namespace App\Http\Responses;
use Illuminate\Support\Facades\Auth;
use Laravel\Fortify\Contracts\LoginResponse as LoginResponseContract;
class LoginResponse implements LoginResponseContract
{
public function toResponse($request)
{
// 위에서 구은 link 세션으로 이동한다.
return redirect(session(‘link’));
}
}
[/code]
참고: https://laracasts.com/discuss/channels/laravel/redirect-to-intended-url-jetstream-fortify