3.19.0 • Published 4 years ago

@forrestjs/service-express-cookies v3.19.0

Weekly downloads
1
License
MIT
Repository
github
Last release
4 years ago

@forrestjs/service-express-cookies

ForrestJS service which helps handling cookies in an ExpressJS server.

Usage

This extension decorates the req and res object in an ExpressJS request. Use the methods as in the following example to read/write to cookies.

// Server Side Cookies
res.setCookie('cookieName', 'value', { /* override options */ })
res.deleteCookie('cookieName')
req.getCookie('cookieName') // -> value

// Client Side Cookies
res.setClientCookie('cookieName', 'value', { /* override options */ })
res.deleteClientCookie('cookieName')
req.getClientCookie('cookieName') // -> value

AppCookies can not be accessed by the client and go in https-only by default when NODE_ENV=production.

ClientCookies can be accessed by the client and therefore are not super safe. Use those with caution.

The override options argument is optional and allow to override any pre-configured setting that is passed down to res.cookie.

NOTE: maxAge can be set as string like 5 minutes and gets parsed by millisecond.

Configuration

const { runHookApp } = require('@forrestjs/hooks')

runHookApp({
    settings: {
        express: {
            port: 8080,
        },
        expressCookies: {
            scope: 'XXX',
            secure: false,
            httpOnly: true,
            duration: '30d',
            separator: '::',
            clientDuration: '30d',
            clientSeparator: '--',
        }
    },
    services: [
        require('@forrestjs/service-express'),
        require('@forrestjs/service-express-cookies'),
    ],
    features: [
        ({ getHook }) => [getHook('EXPRESS_ROUTE'), ({ registerRoute }) => {
            registerRoute.get('/', (req, res) => {
                res.setCookie('foo', 123)
                res.setClientCookie('foo', 123)
                res.send('ok')
            })
        }]
    ]
})

scope

scope is a string that prefix any cookie name you will ever use. It's cool to work on multiple apps in development and still avoid conflicts ;-)

secure

Forces cookies to apply only to https connections.

default: isDevOrTest ? false : true

it applies to Server Side cookies only

httpOnly

Hides cookies from client side access.

default: true

it applies to Server Side cookies only

duration

default: 300y

separator

default: ::

clientDuration

default: ${duration}

clientSeparator

default: --

3.19.0

4 years ago

3.18.2

4 years ago

3.18.1

4 years ago

3.18.0

4 years ago

3.17.0

4 years ago

3.16.1

4 years ago

3.16.0

4 years ago

3.15.0

4 years ago

3.14.0

4 years ago

3.13.8

4 years ago

3.13.4

4 years ago

3.13.3

4 years ago

3.13.6

4 years ago

3.13.5

4 years ago

3.13.7

4 years ago

3.13.2

4 years ago

3.13.1

4 years ago

3.12.0

4 years ago

3.13.0

4 years ago

3.11.0

4 years ago

3.10.1

4 years ago

3.9.0

4 years ago

3.8.0

4 years ago

3.7.3

4 years ago

3.7.2

4 years ago

3.7.0

5 years ago

3.6.0

5 years ago

3.5.0

5 years ago

3.4.3

5 years ago

3.4.0

5 years ago

3.3.0

5 years ago

3.2.0

5 years ago

3.1.4

5 years ago

3.1.3

5 years ago

3.0.5

5 years ago

3.0.3

5 years ago

3.0.2

5 years ago

3.0.0

5 years ago

3.0.0-beta.0

5 years ago

3.0.0-alpha.9

5 years ago

3.0.0-alpha.8

5 years ago

3.0.0-alpha.7

5 years ago

3.0.0-alpha.6

5 years ago

3.0.0-alpha.5

5 years ago

3.0.0-alpha.4

5 years ago

3.0.0-alpha.3

5 years ago

3.0.0-alpha.2

5 years ago

3.0.0-alpha.1

5 years ago

3.0.0-alpha.0

5 years ago

2.9.12

5 years ago

2.9.11

5 years ago

2.9.10

5 years ago

2.9.9

5 years ago

2.9.8

5 years ago

2.9.6

5 years ago

2.9.5

5 years ago

2.9.4

5 years ago

2.9.3

5 years ago

2.9.2

5 years ago

2.9.1

5 years ago

2.9.0

5 years ago

2.8.5

5 years ago

2.8.4

5 years ago

2.8.3

5 years ago

2.8.2

5 years ago

2.8.0

5 years ago

2.7.3

5 years ago

2.7.3-y.0

5 years ago

2.7.3-alpha.4

5 years ago

2.7.3-alpha.3

5 years ago

2.7.3-alpha.2

5 years ago

2.7.3-alpha.1

5 years ago

2.7.3-alpha.0

5 years ago

2.7.2

5 years ago

2.7.1

5 years ago

2.7.0

5 years ago

2.7.0-alpha.5

5 years ago

2.7.0-alpha.4

5 years ago

2.7.0-alpha.3

5 years ago

2.7.0-alpha.2

5 years ago

2.7.0-alpha.1

5 years ago

2.7.0-alpha.0

5 years ago

2.6.1

5 years ago

2.6.0

5 years ago

2.4.1

5 years ago

2.4.0

5 years ago

2.3.0

5 years ago

0.1.3

5 years ago

0.1.2

5 years ago

0.1.1

5 years ago

0.1.1-alpha.4

5 years ago

0.1.1-alpha.3

5 years ago

0.1.1-alpha.2

5 years ago

0.1.1-alpha.1

5 years ago

0.1.1-alpha.0

5 years ago

0.1.0

5 years ago

0.0.63-alpha.0

5 years ago

0.0.61-alpha.0

5 years ago

0.0.60-alpha.0

5 years ago

0.0.58-alpha.0

5 years ago

0.0.57-alpha.0

5 years ago

0.0.55-alpha.0

5 years ago

0.0.53-alpha.0

5 years ago

0.0.52-alpha.0

5 years ago

0.0.50-alpha.0

5 years ago

0.0.49-alpha.0

5 years ago

0.0.48-alpha.0

5 years ago

0.0.29-alpha.0

5 years ago

0.0.23-alpha.0

5 years ago

0.0.22-alpha.0

5 years ago

0.0.21-alpha.0

5 years ago

0.0.20-alpha.0

5 years ago

0.0.19-alpha.0

5 years ago

0.0.18-alpha.0

5 years ago

0.0.17-alpha.0

5 years ago