npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

middleware-auth

v1.3.14

Published

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

Downloads

301

Readme

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.