File tree 2 files changed +17
-3
lines changed
HttpFoundation/Session/Storage
2 files changed +17
-3
lines changed Original file line number Diff line number Diff line change @@ -389,6 +389,10 @@ public function setOptions(array $options)
389
389
$ this ->emulateSameSite = $ value ;
390
390
continue ;
391
391
}
392
+ if ('cookie_secure ' === $ key && 'auto ' === $ value ) {
393
+ // Do not overwrite existing setting if the cookie_secure value is "auto".
394
+ continue ;
395
+ }
392
396
ini_set ('url_rewriter.tags ' !== $ key ? 'session. ' .$ key : $ key , $ value );
393
397
}
394
398
}
Original file line number Diff line number Diff line change 14
14
use Psr \Container \ContainerInterface ;
15
15
use Symfony \Component \HttpFoundation \Session \SessionInterface ;
16
16
use Symfony \Component \HttpFoundation \Session \Storage \NativeSessionStorage ;
17
+ use Symfony \Component \HttpKernel \Event \GetResponseEvent ;
17
18
18
19
/**
19
20
* Sets the session in the request.
@@ -33,10 +34,12 @@ public function __construct(ContainerInterface $container)
33
34
$ this ->container = $ container ;
34
35
}
35
36
36
- protected function getSession (): ? SessionInterface
37
+ public function onKernelRequest ( GetResponseEvent $ event )
37
38
{
38
- if (!$ this ->container ->has ('session ' )) {
39
- return null ;
39
+ parent ::onKernelRequest ($ event );
40
+
41
+ if (!$ event ->isMasterRequest () || !$ this ->container ->has ('session ' )) {
42
+ return ;
40
43
}
41
44
42
45
if ($ this ->container ->has ('session_storage ' )
@@ -46,6 +49,13 @@ protected function getSession(): ?SessionInterface
46
49
) {
47
50
$ storage ->setOptions (['cookie_secure ' => true ]);
48
51
}
52
+ }
53
+
54
+ protected function getSession (): ?SessionInterface
55
+ {
56
+ if (!$ this ->container ->has ('session ' )) {
57
+ return null ;
58
+ }
49
59
50
60
return $ this ->container ->get ('session ' );
51
61
}
You can’t perform that action at this time.
0 commit comments