annotate config/session.php @ 0:9d7dcd54c677

Initial Commit and package setup
author luka
date Sat, 23 Aug 2025 22:20:51 -0400
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
1 <?php
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
2
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
3 use Illuminate\Support\Str;
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
4
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
5 return [
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
6
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
7 /*
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
8 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
9 | Default Session Driver
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
10 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
11 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
12 | This option determines the default session driver that is utilized for
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
13 | incoming requests. Laravel supports a variety of storage options to
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
14 | persist session data. Database storage is a great default choice.
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
15 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
16 | Supported: "file", "cookie", "database", "memcached",
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
17 | "redis", "dynamodb", "array"
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
18 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
19 */
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
20
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
21 'driver' => env('SESSION_DRIVER', 'database'),
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
22
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
23 /*
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
24 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
25 | Session Lifetime
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
26 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
27 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
28 | Here you may specify the number of minutes that you wish the session
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
29 | to be allowed to remain idle before it expires. If you want them
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
30 | to expire immediately when the browser is closed then you may
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
31 | indicate that via the expire_on_close configuration option.
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
32 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
33 */
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
34
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
35 'lifetime' => (int) env('SESSION_LIFETIME', 120),
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
36
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
37 'expire_on_close' => env('SESSION_EXPIRE_ON_CLOSE', false),
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
38
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
39 /*
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
40 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
41 | Session Encryption
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
42 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
43 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
44 | This option allows you to easily specify that all of your session data
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
45 | should be encrypted before it's stored. All encryption is performed
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
46 | automatically by Laravel and you may use the session like normal.
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
47 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
48 */
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
49
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
50 'encrypt' => env('SESSION_ENCRYPT', false),
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
51
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
52 /*
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
53 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
54 | Session File Location
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
55 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
56 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
57 | When utilizing the "file" session driver, the session files are placed
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
58 | on disk. The default storage location is defined here; however, you
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
59 | are free to provide another location where they should be stored.
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
60 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
61 */
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
62
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
63 'files' => storage_path('framework/sessions'),
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
64
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
65 /*
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
66 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
67 | Session Database Connection
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
68 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
69 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
70 | When using the "database" or "redis" session drivers, you may specify a
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
71 | connection that should be used to manage these sessions. This should
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
72 | correspond to a connection in your database configuration options.
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
73 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
74 */
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
75
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
76 'connection' => env('SESSION_CONNECTION'),
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
77
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
78 /*
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
79 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
80 | Session Database Table
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
81 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
82 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
83 | When using the "database" session driver, you may specify the table to
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
84 | be used to store sessions. Of course, a sensible default is defined
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
85 | for you; however, you're welcome to change this to another table.
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
86 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
87 */
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
88
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
89 'table' => env('SESSION_TABLE', 'sessions'),
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
90
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
91 /*
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
92 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
93 | Session Cache Store
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
94 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
95 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
96 | When using one of the framework's cache driven session backends, you may
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
97 | define the cache store which should be used to store the session data
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
98 | between requests. This must match one of your defined cache stores.
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
99 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
100 | Affects: "dynamodb", "memcached", "redis"
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
101 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
102 */
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
103
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
104 'store' => env('SESSION_STORE'),
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
105
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
106 /*
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
107 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
108 | Session Sweeping Lottery
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
109 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
110 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
111 | Some session drivers must manually sweep their storage location to get
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
112 | rid of old sessions from storage. Here are the chances that it will
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
113 | happen on a given request. By default, the odds are 2 out of 100.
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
114 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
115 */
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
116
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
117 'lottery' => [2, 100],
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
118
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
119 /*
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
120 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
121 | Session Cookie Name
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
122 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
123 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
124 | Here you may change the name of the session cookie that is created by
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
125 | the framework. Typically, you should not need to change this value
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
126 | since doing so does not grant a meaningful security improvement.
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
127 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
128 */
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
129
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
130 'cookie' => env(
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
131 'SESSION_COOKIE',
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
132 Str::slug(env('APP_NAME', 'laravel')).'-session'
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
133 ),
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
134
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
135 /*
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
136 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
137 | Session Cookie Path
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
138 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
139 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
140 | The session cookie path determines the path for which the cookie will
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
141 | be regarded as available. Typically, this will be the root path of
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
142 | your application, but you're free to change this when necessary.
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
143 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
144 */
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
145
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
146 'path' => env('SESSION_PATH', '/'),
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
147
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
148 /*
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
149 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
150 | Session Cookie Domain
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
151 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
152 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
153 | This value determines the domain and subdomains the session cookie is
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
154 | available to. By default, the cookie will be available to the root
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
155 | domain and all subdomains. Typically, this shouldn't be changed.
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
156 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
157 */
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
158
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
159 'domain' => env('SESSION_DOMAIN'),
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
160
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
161 /*
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
162 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
163 | HTTPS Only Cookies
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
164 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
165 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
166 | By setting this option to true, session cookies will only be sent back
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
167 | to the server if the browser has a HTTPS connection. This will keep
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
168 | the cookie from being sent to you when it can't be done securely.
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
169 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
170 */
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
171
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
172 'secure' => env('SESSION_SECURE_COOKIE'),
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
173
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
174 /*
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
175 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
176 | HTTP Access Only
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
177 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
178 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
179 | Setting this value to true will prevent JavaScript from accessing the
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
180 | value of the cookie and the cookie will only be accessible through
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
181 | the HTTP protocol. It's unlikely you should disable this option.
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
182 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
183 */
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
184
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
185 'http_only' => env('SESSION_HTTP_ONLY', true),
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
186
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
187 /*
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
188 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
189 | Same-Site Cookies
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
190 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
191 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
192 | This option determines how your cookies behave when cross-site requests
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
193 | take place, and can be used to mitigate CSRF attacks. By default, we
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
194 | will set this value to "lax" to permit secure cross-site requests.
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
195 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
196 | See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
197 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
198 | Supported: "lax", "strict", "none", null
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
199 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
200 */
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
201
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
202 'same_site' => env('SESSION_SAME_SITE', 'lax'),
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
203
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
204 /*
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
205 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
206 | Partitioned Cookies
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
207 |--------------------------------------------------------------------------
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
208 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
209 | Setting this value to true will tie the cookie to the top-level site for
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
210 | a cross-site context. Partitioned cookies are accepted by the browser
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
211 | when flagged "secure" and the Same-Site attribute is set to "none".
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
212 |
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
213 */
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
214
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
215 'partitioned' => env('SESSION_PARTITIONED_COOKIE', false),
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
216
9d7dcd54c677 Initial Commit and package setup
luka
parents:
diff changeset
217 ];