use Illuminate\Support\Str; | |
return [ | |
/* | |
|-------------------------------------------------------------------------- | |
| Default Session Driver | |
|-------------------------------------------------------------------------- | |
| | |
| This option determines the default session driver that is utilized for | |
| incoming requests. Laravel supports a variety of storage options to | |
| persist session data. Database storage is a great default choice. | |
| | |
| Supported: "file", "cookie", "database", "memcached", | |
| "redis", "dynamodb", "array" | |
| | |
*/ | |
'driver' => env('SESSION_DRIVER', 'database'), | |
/* | |
|-------------------------------------------------------------------------- | |
| Session Lifetime | |
|-------------------------------------------------------------------------- | |
| | |
| Here you may specify the number of minutes that you wish the session | |
| to be allowed to remain idle before it expires. If you want them | |
| to expire immediately when the browser is closed then you may | |
| indicate that via the expire_on_close configuration option. | |
| | |
*/ | |
'lifetime' => (int) env('SESSION_LIFETIME', 120), | |
'expire_on_close' => env('SESSION_EXPIRE_ON_CLOSE', false), | |
/* | |
|-------------------------------------------------------------------------- | |
| Session Encryption | |
|-------------------------------------------------------------------------- | |
| | |
| This option allows you to easily specify that all of your session data | |
| should be encrypted before it's stored. All encryption is performed | |
| automatically by Laravel and you may use the session like normal. | |
| | |
*/ | |
'encrypt' => env('SESSION_ENCRYPT', false), | |
/* | |
|-------------------------------------------------------------------------- | |
| Session File Location | |
|-------------------------------------------------------------------------- | |
| | |
| When utilizing the "file" session driver, the session files are placed | |
| on disk. The default storage location is defined here; however, you | |
| are free to provide another location where they should be stored. | |
| | |
*/ | |
'files' => storage_path('framework/sessions'), | |
/* | |
|-------------------------------------------------------------------------- | |
| Session Database Connection | |
|-------------------------------------------------------------------------- | |
| | |
| When using the "database" or "redis" session drivers, you may specify a | |
| connection that should be used to manage these sessions. This should | |
| correspond to a connection in your database configuration options. | |
| | |
*/ | |
'connection' => env('SESSION_CONNECTION'), | |
/* | |
|-------------------------------------------------------------------------- | |
| Session Database Table | |
|-------------------------------------------------------------------------- | |
| | |
| When using the "database" session driver, you may specify the table to | |
| be used to store sessions. Of course, a sensible default is defined | |
| for you; however, you're welcome to change this to another table. | |
| | |
*/ | |
'table' => env('SESSION_TABLE', 'sessions'), | |
/* | |
|-------------------------------------------------------------------------- | |
| Session Cache Store | |
|-------------------------------------------------------------------------- | |
| | |
| When using one of the framework's cache driven session backends, you may | |
| define the cache store which should be used to store the session data | |
| between requests. This must match one of your defined cache stores. | |
| | |
| Affects: "dynamodb", "memcached", "redis" | |
| | |
*/ | |
'store' => env('SESSION_STORE'), | |
/* | |
|-------------------------------------------------------------------------- | |
| Session Sweeping Lottery | |
|-------------------------------------------------------------------------- | |
| | |
| Some session drivers must manually sweep their storage location to get | |
| rid of old sessions from storage. Here are the chances that it will | |
| happen on a given request. By default, the odds are 2 out of 100. | |
| | |
*/ | |
'lottery' => [2, 100], | |
/* | |
|-------------------------------------------------------------------------- | |
| Session Cookie Name | |
|-------------------------------------------------------------------------- | |
| | |
| Here you may change the name of the session cookie that is created by | |
| the framework. Typically, you should not need to change this value | |
| since doing so does not grant a meaningful security improvement. | |
| | |
*/ | |
'cookie' => env( | |
'SESSION_COOKIE', | |
Str::slug(env('APP_NAME', 'laravel'), '_').'_session' | |
), | |
/* | |
|-------------------------------------------------------------------------- | |
| Session Cookie Path | |
|-------------------------------------------------------------------------- | |
| | |
| The session cookie path determines the path for which the cookie will | |
| be regarded as available. Typically, this will be the root path of | |
| your application, but you're free to change this when necessary. | |
| | |
*/ | |
'path' => env('SESSION_PATH', '/'), | |
/* | |
|-------------------------------------------------------------------------- | |
| Session Cookie Domain | |
|-------------------------------------------------------------------------- | |
| | |
| This value determines the domain and subdomains the session cookie is | |
| available to. By default, the cookie will be available to the root | |
| domain and all subdomains. Typically, this shouldn't be changed. | |
| | |
*/ | |
'domain' => env('SESSION_DOMAIN'), | |
/* | |
|-------------------------------------------------------------------------- | |
| HTTPS Only Cookies | |
|-------------------------------------------------------------------------- | |
| | |
| By setting this option to true, session cookies will only be sent back | |
| to the server if the browser has a HTTPS connection. This will keep | |
| the cookie from being sent to you when it can't be done securely. | |
| | |
*/ | |
'secure' => env('SESSION_SECURE_COOKIE'), | |
/* | |
|-------------------------------------------------------------------------- | |
| HTTP Access Only | |
|-------------------------------------------------------------------------- | |
| | |
| Setting this value to true will prevent JavaScript from accessing the | |
| value of the cookie and the cookie will only be accessible through | |
| the HTTP protocol. It's unlikely you should disable this option. | |
| | |
*/ | |
'http_only' => env('SESSION_HTTP_ONLY', true), | |
/* | |
|-------------------------------------------------------------------------- | |
| Same-Site Cookies | |
|-------------------------------------------------------------------------- | |
| | |
| This option determines how your cookies behave when cross-site requests | |
| take place, and can be used to mitigate CSRF attacks. By default, we | |
| will set this value to "lax" to permit secure cross-site requests. | |
| | |
| See: https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie#samesitesamesite-value | |
| | |
| Supported: "lax", "strict", "none", null | |
| | |
*/ | |
'same_site' => env('SESSION_SAME_SITE', 'lax'), | |
/* | |
|-------------------------------------------------------------------------- | |
| Partitioned Cookies | |
|-------------------------------------------------------------------------- | |
| | |
| Setting this value to true will tie the cookie to the top-level site for | |
| a cross-site context. Partitioned cookies are accepted by the browser | |
| when flagged "secure" and the Same-Site attribute is set to "none". | |
| | |
*/ | |
'partitioned' => env('SESSION_PARTITIONED_COOKIE', false), | |
]; | |