2.0.15 • Published 3 years ago

@fmpanelli/some-middleware-setup v2.0.15

Weekly downloads
49
License
ISC
Repository
-
Last release
3 years ago

some-middleware-setup

A library containing some functions I use in my Google Cloud Functions to setup the express middleware.

Usage

The typical use is the following:

# index.ts 

import express from "express";
import { errorHandler } from "@fmpanelli/some-middleware";
import { CorsMiddleware, OAuth2Middleware } from "@fmpanelli/some-middleware-setup"

// Create an Express object and routes (in order)
export const main = express();

new CorsMiddleware().setupCors(main);
new OAuth2Middleware().setupOAuth2(main);

main.get("/myapi/", myRequestHandleFunction);

main.use(errorHandler);

CORS

The call CorsMiddleware().setupCors(main) sets up the middleware to handle the CORS protocol. The configuration isa based on the environment variables:

# if YES or Y the CORS middleware is enabled, otherwise it is not
CONFIG_CORS_ENABLED=YES

# list of domains enabled for CORS in JSON format
CONFIG_CORS_DOMAINS='["domain1.com","domain2.com"]'

OAuth2Middleware

The call OAuth2Middleware().setupOAuth2(main) sets up the middleware to handle the OAuth2 authentication with Google. The configuration is based on the environment variables:

# if YES or Y the OAUTH2 middleware is enabled, otherwise the authorization
# is not checked
CONFIG_OAUTH2_FILTER_ENABLED=YES

# list of domains enabled for CORS in JSON format
CONFIG_OAUTH2_SERVER=https://oauth2.googleapis.com

# list of authorized client Ids
CONFIG_OAUTH2_CLIENT_IDS='["client-id-1","client-id-1"]'

# list of authorized domains: only users from those domains will be allowed
CONFIG_OAUTH2_DOMAINS='["domain1.com","domain2.com"]'

# list of whitelisted users
CONFIG_OAUTH2_WHITELIST='["whitelistedclient@somedomain.com","whitelistedclient3@somedomain.com"]
2.0.15

3 years ago

2.0.13

3 years ago

2.0.11

3 years ago

2.0.10

3 years ago

2.0.9

3 years ago

2.0.8

3 years ago

2.0.7

3 years ago

2.0.6

3 years ago

2.0.5

4 years ago

2.0.4

4 years ago

2.0.3

4 years ago

2.0.2

4 years ago

2.0.1

4 years ago

2.0.0

4 years ago

1.1.0

4 years ago

1.0.4

4 years ago

1.0.3

4 years ago

1.0.2

4 years ago

1.0.1

4 years ago