22
33namespace Pterodactyl \Http \Middleware ;
44
5- use Illuminate \Http \Request ;
6- use Illuminate \Routing \Pipeline ;
7- use Illuminate \Session \Middleware \StartSession ;
8- use Illuminate \Cookie \Middleware \AddQueuedCookiesToResponse ;
95use Laravel \Sanctum \Http \Middleware \EnsureFrontendRequestsAreStateful ;
106
117class EnsureStatefulRequests extends EnsureFrontendRequestsAreStateful
128{
13- /**
14- * {@inheritDoc}
15- */
16- public function handle ($ request , $ next )
17- {
18- $ this ->configureSecureCookieSessions ();
19-
20- return (new Pipeline (app ()))
21- ->send ($ request )
22- ->through ($ this ->isStateful ($ request ) ? $ this ->statefulMiddleware () : [])
23- ->then (fn ($ request ) => $ next ($ request ));
24- }
25-
269 /**
2710 * Determines if a request is stateful or not. This is determined using the default
2811 * Sanctum "fromFrontend" helper method. However, we also check if the request includes
@@ -32,26 +15,12 @@ public function handle($request, $next)
3215 * We don't want to support API usage using the cookies, except for requests stemming
3316 * from the front-end we control.
3417 */
35- protected function isStateful (Request $ request ): bool
36- {
37- return static ::fromFrontend ($ request ) || $ request ->hasCookie (config ('session.cookie ' ));
38- }
39-
40- /**
41- * Returns the middleware to be applied to a stateful request to the API.
42- */
43- protected function statefulMiddleware (): array
18+ public static function fromFrontend ($ request )
4419 {
45- return [
46- function ( $ request , $ next ) {
47- $ request -> attributes -> set ( ' sanctum ' , true );
20+ if ( parent :: fromFrontend ( $ request )) {
21+ return true ;
22+ }
4823
49- return $ next ($ request );
50- },
51- config ('sanctum.middleware.encrypt_cookies ' , EncryptCookies::class),
52- AddQueuedCookiesToResponse::class,
53- StartSession::class,
54- config ('sanctum.middleware.verify_csrf_token ' , VerifyCsrfToken::class),
55- ];
24+ return $ request ->hasCookie (config ('session.cookie ' ));
5625 }
5726}
0 commit comments