0.0.1 • Published 7 years ago

sails-hook-session v0.0.1

Weekly downloads
3
License
MIT
Repository
github
Last release
7 years ago

sails-hook-session

(BEWARE: THIS IS A WORK IN PROGRESS! IT IS UNSTABLE AND SHOULD NOT BE RELIED UPON UNLESS YOU KNOW WHAT YOU'RE DOING!)

Implements experimental, next-gen support for sessions in Sails.

This is an experimental version of a core hook in the Sails.js framework. You can override or disable it using your .sailsrc file or environment variables. See Concepts > Configuration for more information.

Dependencies

In order for this hook to load, the following other hooks must have already finished loading:

N/A

Dependents

If this hook is disabled, in order for Sails to load, the following other core hooks must also be disabled:

N/A

Purpose

This hook's responsibilities are:

At configuration-time, this hook loads verifies valid configuration of the connect session store (configurable in sails.config.session), At lift-time, it instantiates the session store and makes it accesible via sails.session.

It includes methods for:

  • attaching a connect session to a socket.io connection
  • generating new sessions
  • generating a session secret (for apps which do not specify one)
  • getting and setting the session

TODO: document all other hook duties

Implicit defaults

See Reference > Configuration > sails.config.session for a list of implicit default settings that this hook attaches to sails.config.

Methods

n/a

FAQ

Can I disable this hook?

Yes. To disable this hook, merge the following JSON into your app's .sailsrc file:

{
  "hooks": {
    "session": false
  }
}

Can I override this hook to use my own default blueprint API?

Yes. To override this hook, define your replacement hook under your app's api/hooks/ directory. Or, to share your override with the world, publish it on NPM (e.g. @mynpmusername/sails-hook-session or sails-hook-emberprints). Just be sure to include the following in your package.json:

"sails": {
  "isHook": true,
  "hookName": "session"
}

See the package.json file in this repo for reference.

For more information on overriding core hooks, check out Extending Sails > Hooks.

Help

If you have further questions or are having trouble, click here.

Bugs   NPM version

To report a bug, click here.

Contributing

Please observe the guidelines and conventions laid out in the Sails project contribution guide when opening issues or submitting pull requests.

NPM

Generic Waterline-based session adapter

It would be great to see a generic connect session adapter with support for the existing 'connections' in sails (ie. waterline adapters). See connect-waterline.

Be sure to check out the "Cacheable" IL in https://github.com/node-machine/driver-interface for ideas on how support for TTLs could be instrumented.

License

This hook, being a core part of the Sails framework, is free and open-source under the MIT License.