@fmpanelli/some-middleware-setup
v2.0.15
Published
Basic middleware for my Google Cloud Functions, automatic setup from environment variables
Downloads
86
Readme
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='["[email protected]","[email protected]"]