1.6.4 • Published 9 months ago

@prsm/express-session-auth v1.6.4

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
9 months ago

express-session-auth

Requirements

Quickstart

Wherever you create your express application, include the auth middleware and pass in your TypeORM datasource.

import express from "express";
import { createServer } from "node:http";
import auth from "@prsm/express-session-auth";
import datasource from "./my-datasource";

const app = express();
const server = createServer(app);

// the auth middleware needs your datasource instance
app.use(auth({ datasource }));

Here's an example TypeORM datasource:

// my-datasource.ts
import {
  User,
  UserConfirmation,
  UserRemember,
  UserReset,
} from "@prsm/express-session-auth";
import { DataSource } from "typeorm";

const datasource = new DataSource({
  type: "mysql", // express-session-auth supports mysql, postgres and sqlite (others not tested)
  host: process.env.DB_HOST,
  port: process.env.DB_PORT ? +process.env.DB_PORT : 3306,
  username: process.env.DB_USER,
  password: process.env.DB_PASSWORD,
  database: process.env.DB_NAME,
  entities: [
    User,
    UserConfirmation,
    UserRemember,
    UserReset,
    /* the reset of your entities here */
  ],
});

export default datasource;

Environment variables and their defaults:

HTTP_PORT=3002

AUTH_SESSION_REMEMBER_DURATION=30d
AUTH_SESSION_REMEMBER_COOKIE_NAME=prsm.auth.remember
AUTH_SESSION_RESYNC_INTERVAL=30m
AUTH_MINIMUM_PASSWORD_LENGTH=8
AUTH_MAXIMUM_PASSWORD_LENGTH=64

DB_HOST=localhost
DB_PORT=3306
DB_USERNAME=root
DB_PASSWORD=toor
DB_NAME=prsm

Because this middleware augments the Request object by adding an auth property, you will want to add the following to your tsconfig.json so that your language server doesn't flag references to req.auth as an error:

{
  "include": [
    "src",
    "node_modules/@prsm/express-session-auth/express-session-auth.d.ts"
  ]
}
1.6.4

9 months ago

1.6.2

9 months ago

1.6.1

9 months ago

1.6.0

10 months ago

1.5.5

10 months ago

1.5.4

10 months ago

1.5.3

10 months ago

1.5.2

10 months ago

1.5.1

10 months ago

1.2.0

10 months ago

1.1.0

10 months ago

1.0.0

10 months ago

1.5.0

10 months ago

1.4.1

10 months ago

1.4.0

10 months ago

1.3.0

10 months ago

1.0.2

2 years ago

1.0.1

2 years ago