|
13 | 13 | use Laravel\Fortify\Contracts\LoginResponse;
|
14 | 14 | use Laravel\Fortify\Contracts\LoginViewResponse;
|
15 | 15 | use Laravel\Fortify\Contracts\LogoutResponse;
|
| 16 | +use Laravel\Fortify\Fortify; |
16 | 17 | use Laravel\Fortify\Http\Requests\LoginRequest;
|
17 | 18 |
|
18 | 19 | class AuthenticatedSessionController extends Controller
|
@@ -54,14 +55,37 @@ public function create(Request $request): LoginViewResponse
|
54 | 55 | */
|
55 | 56 | public function store(LoginRequest $request)
|
56 | 57 | {
|
| 58 | + return $this->loginPipeline($request)->then(function ($request) { |
| 59 | + return app(LoginResponse::class); |
| 60 | + }); |
| 61 | + } |
| 62 | + |
| 63 | + /** |
| 64 | + * Get the authentication pipeline instance. |
| 65 | + * |
| 66 | + * @param \Laravel\Fortify\Http\Requests\LoginRequest $request |
| 67 | + * @return \Illuminate\Pipeline\Pipeline |
| 68 | + */ |
| 69 | + protected function loginPipeline(LoginRequest $request) |
| 70 | + { |
| 71 | + if (Fortify::$loginThroughCallback) { |
| 72 | + return (new Pipeline(app()))->send($request)->through(array_filter( |
| 73 | + call_user_func(Fortify::$loginThroughCallback, $request) |
| 74 | + )); |
| 75 | + } |
| 76 | + |
| 77 | + if (is_array(config('fortify.pipelines.login'))) { |
| 78 | + return (new Pipeline(app()))->send($request)->through(array_filter( |
| 79 | + config('fortify.pipelines.login') |
| 80 | + )); |
| 81 | + } |
| 82 | + |
57 | 83 | return (new Pipeline(app()))->send($request)->through(array_filter([
|
58 | 84 | config('fortify.limiters.login') ? null : EnsureLoginIsNotThrottled::class,
|
59 | 85 | RedirectIfTwoFactorAuthenticatable::class,
|
60 | 86 | AttemptToAuthenticate::class,
|
61 | 87 | PrepareAuthenticatedSession::class,
|
62 |
| - ]))->then(function ($request) { |
63 |
| - return app(LoginResponse::class); |
64 |
| - }); |
| 88 | + ])); |
65 | 89 | }
|
66 | 90 |
|
67 | 91 | /**
|
|
0 commit comments