1.3.14 • Published 3 years ago

middleware-auth v1.3.14

Weekly downloads
1
License
ISC
Repository
github
Last release
3 years ago

Guidesmiths middleware authorization provider

This repo contains the middleware used in all Guidesmiths internal projects which verifies the authorization on login.

It uses a AWS lambda that checks the user identity via google oauth. The repository of the lambda can be found there: lambda repo

How to use

The middleware is deployed as npm package at: npm package

To integrate this middleware using systemic, follow the next steps in your express app repo:

1 Create components/auth/index.js file with the following code:

const System = require('systemic');
const initAuth = require('middleware-auth');

module.exports = new System({ name: 'auth' }).add('auth', initAuth()).dependsOn('config');

2 Save the lambda url on the config/default.js file.

module.exports = { auth: { url: process.env.LAMBDA_AUTH_URL } };

3 Use it as a regular middleware express in your routes folder folder as for instance on components/routes/api-routes.js like in this example:

module.exports = () => {
  const start = ({ app, controller, auth }) => {
    app.use(bodyParser.json());
    app.get('/api/v1/restaurants', auth.authenticate, async (req, res, next) => {
      try {
        const data = await controller.getAllRestaurants();
        res.json(data);
      } catch (error) {
        next(error);
      }
    });
    return Promise.resolve();
  };
  return { start };
};

3.1 In this step, the information of the user, including the appOrigin field will be stored at res.locals.userData

dev https://k6vswy7emc.execute-api.eu-west-1.amazonaws.com/dev/ prod https://nwcii8cind.execute-api.eu-west-1.amazonaws.com/production/

Maintenance

The Gitlab CI is configured to deploy on npm the package in each push to master, updating the patch version.

On the project’s Settings > CI/CD and expanding the Variables section you can find the Environment Variable called NPM_TOKEN that defines the NPM account where the package is uploaded.

1.3.13

3 years ago

1.3.14

3 years ago

1.3.12

4 years ago

1.3.11

4 years ago

1.3.10

4 years ago

1.3.9

4 years ago

1.3.7

4 years ago

1.3.8

4 years ago

1.3.6

4 years ago

1.3.5

4 years ago

1.3.4

4 years ago

1.3.3

4 years ago

1.3.2

4 years ago

1.3.1

4 years ago

1.3.0

4 years ago

1.2.0

4 years ago

1.1.0

4 years ago

1.0.0

4 years ago