@byu-oit-sdk/session
TypeScript icon, indicating that this package has built-in type declarations

0.1.2 • Public • Published

@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 Name Purpose Default Value
NODE_CACHE_TTL This 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_PERIOD The 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 Name Type Default Purpose
maxLockTime number 10 Optional. 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.

Readme

Keywords

none

Package Sidebar

Install

npm i @byu-oit-sdk/session

Weekly Downloads

44

Version

0.1.2

License

Apache-2.0

Unpacked Size

46.8 kB

Total Files

25

Last publish

Collaborators

  • byu-oit-bot
  • stuft2