117 lines
3.5 KiB
TypeScript
117 lines
3.5 KiB
TypeScript
/**
|
|
* Config source: https://git.io/JeYHp
|
|
*
|
|
* Feel free to let us know via PR, if you find something broken in this config
|
|
* file.
|
|
*/
|
|
|
|
import Env from '@ioc:Adonis/Core/Env';
|
|
import Application from '@ioc:Adonis/Core/Application';
|
|
import { sessionConfig } from '@adonisjs/session/build/config';
|
|
|
|
export default sessionConfig({
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Enable/Disable sessions
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Setting the following property to "false" will disable the session for the
|
|
| entire application
|
|
|
|
|
*/
|
|
enabled: true,
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Driver
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| The session driver to use. You can choose between one of the following
|
|
| drivers.
|
|
|
|
|
| - cookie (Uses signed cookies to store session values)
|
|
| - file (Uses filesystem to store session values)
|
|
| - redis (Uses redis. Make sure to install "@adonisjs/redis" as well)
|
|
|
|
|
| Note: Switching drivers will make existing sessions invalid.
|
|
|
|
|
*/
|
|
driver: Env.get('SESSION_DRIVER'),
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Cookie name
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| The name of the cookie that will hold the session id.
|
|
|
|
|
*/
|
|
cookieName: 'adonis-session',
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Clear session when browser closes
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| Whether or not you want to destroy the session when browser closes. Setting
|
|
| this value to `true` will ignore the `age`.
|
|
|
|
|
*/
|
|
clearWithBrowser: false,
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Session age
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| The duration for which session stays active after no activity. A new HTTP
|
|
| request to the server is considered as activity.
|
|
|
|
|
| The value can be a number in milliseconds or a string that must be valid
|
|
| as per https://npmjs.org/package/ms package.
|
|
|
|
|
| Example: `2 days`, `2.5 hrs`, `1y`, `5s` and so on.
|
|
|
|
|
*/
|
|
age: '2h',
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Cookie values
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| The cookie settings are used to setup the session id cookie and also the
|
|
| driver will use the same values.
|
|
|
|
|
*/
|
|
cookie: {
|
|
path: '/',
|
|
httpOnly: true,
|
|
sameSite: false,
|
|
},
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Configuration for the file driver
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| The file driver needs absolute path to the directory in which sessions
|
|
| must be stored.
|
|
|
|
|
*/
|
|
file: {
|
|
location: Application.tmpPath('sessions'),
|
|
},
|
|
|
|
/*
|
|
|--------------------------------------------------------------------------
|
|
| Redis driver
|
|
|--------------------------------------------------------------------------
|
|
|
|
|
| The redis connection you want session driver to use. The same connection
|
|
| must be defined inside `config/redis.ts` file as well.
|
|
|
|
|
*/
|
|
redisConnection: 'local',
|
|
});
|