0.1.1 • Published 3 months ago

@byu-oit-sdk/session v0.1.1

Weekly downloads
-
License
Apache-2.0
Repository
github
Last release
3 months ago

@byu-oit-sdk/session

Requirements:

  • Node.js 18+
    • or Node.js 10+ with fetch and crypto polyfills
  • npm v9+

Installing

npm install @byu-oit-sdk/session

Introduction

@byu-oit-sdk/session is the parent module of @byu-oit-sdk/session-fastify, @byu-oit-sdk/session-express, and @byu-oit-sdk/session-dynamo. While this package technically can be used on its own, those other packages are more purpose-built and well-documented than this one.

This package exports the following:

  • A Session class that represents a users session data that can be stored and retrieved.
  • An abstract SessionStore class
  • A MemorySessionStore that implements SessionStore and acts as a basic, in-memory session store that should not be used in production but functions just fine while testing on a local machine.

Configuring the MemorySessionStore

Though the MemorySessionStore shouldn't be used in production, its use is recommended for testing locally. It doesn't need any configuration to use, but there are some environment variables associated with the node-cache that it uses which can be overridden to change the default behavior.

Env Var NamePurposeDefault Value
NODE_CACHE_TTLThis is the time-to-live as a number in seconds for every generated cache element. Set to 0 for unlimited lifespan.120
NODE_CACHE_CHECK_PERIODThe amount of seconds to wait before performing automatic deletion checks.110

There are also some options that can be passed in the constructor:

Constructor Option NameTypeDefaultPurpose
maxLockTimenumber10Optional. The max amount of seconds that a row can be locked before it is allowed to be forcibly unlocked.

See the documentation of the repositories linked above for usage and configuration details.