0.1.0 • Published 7 years ago

authorize-me v0.1.0

Weekly downloads
3
License
Apache-2.0
Repository
github
Last release
7 years ago

authorize-me

Supplies an Express middleware function that flags specified paths to which one can then react to differently than other paths. A common use-case for this package is identifying when and when not to require user authorization on an express server. Though this is the purpose for building this package, it has been abstracted to be more versatile.

Parameters

options - The options parameter is an object that may include any of the following properties: (NOTE: only the properties supplied will take effect. For example, An object with only a base_path property will do nothing.)

  • base_path: a string that supplies the base_path of the api before any path string.
  • paths: an array of strings of paths. The base_path will be concatenated before all paths if it is supplied. If supplied, it will raise the flag on any request matching the supplied path(s).
  • methods: an array of strings of http methods. They must be in all caps. If supplied, it will raise the flag on any request matching supplied method(s).
  • any http method: an array of strings of paths. The property here must be capitalized (ex: 'PUT') followed by an array of paths to flag. When a request is made that matches both the method and a path in the array, the flag will be raised.
  • execute: a function that executes for every flagged request received.

Example:

const auth = require('authorize-me');

app.use(auth.check({
  base_path: '/domains/foo/bar',
  GET: ['/:baz/logs'],
  PUT: ['/:baz'],
  POST: ['/'],
  DELETE: ['/:baz'],
  execute: () => console.log('Function executed')
}));

Any of the paths mentioned in the options passed in to the middleware function will cause the function to be executed and print "Function executed" to the console. The property "flagged" will appear on the request object with the following schema:

{
    [req.method]: [req.path]
}

If the request method and/or path do not match those specified, the "flagged" property will be null.

0.1.0

7 years ago

0.0.4

7 years ago

0.0.3

7 years ago

0.0.2

7 years ago

0.0.1

7 years ago

0.0.0

7 years ago