9.2.1 • Published 7 years ago

express-meshblu-auth v9.2.1

Weekly downloads
14
License
MIT
Repository
github
Last release
7 years ago

Express Meshblu Authentication Middleware

Express middleware to support all meshblu auth styles

Build Status Code Climate Test Coverage npm version Gitter

Supported Auth Methods

  • cookies: request.cookies.meshblu_auth_uuid and request.cookies.meshblu_auth_token
  • headers: request.cookies.meshblu_auth_uuid and request.cookies.meshblu_auth_token
  • basic: Authorization: Basic c3VwZXItcGluazpwaW5raXNoLXB1cnBsZWlzaAo=
  • bearer: Authorization: Bearer c3VwZXItcGluazpwaW5raXNoLXB1cnBsZWlzaAo=

Example:

var express = require('express');
var MeshbluAuth = require('express-meshblu-auth');
var meshbluAuth = new MeshbluAuth({
  protocol: 'https',
  server: 'meshblu.octoblu.com',
  port: 443
});

var app = express();
// Retrieves the uuid & token from the request,
// validate them, then add them to request.meshbluAuth
app.use(meshbluAuth.auth());

// Retrieves the uuid & token from the request,
// validate them by retrieving the device, then:
// add credentials to request.meshbluAuth
// add device to request.meshbluDevice
app.use(meshbluAuth.get());

// Returns a 401 if no uuid & token were provided in the request
// Returns a 403 if the uuid & token provided were invalid
// calls next otherwise
// meshbluAuth.auth or meshbluAuth.get MUST BE CALLED FIRST in the middleware chain
app.use(meshbluAuth.gateway());

// Returns a 401 if no uuid & token were provided in the request
// Returns a 403 if the uuid & token provided were invalid
// Returns a 403 if the uuid given does not match the authorized uuid
// calls next otherwise
// meshbluAuth.auth or meshbluAuth.get MUST BE CALLED FIRST in the middleware chain
app.use(meshbluAuth.gatewayDevice('uuid'));

// Can be used instead of gateway. Redirects user if uuid & token were not
// provided or were not valid
app.use(meshbluAuth.gatewayRedirect('/login'));

app.use(function (request, response) {
  response.json({uuid: request.meshbluAuth.uuid, token: request.meshbluAuth.token});
});
app.listen(3333);
9.2.1

7 years ago

9.2.0

7 years ago

9.1.0

7 years ago

9.0.2

7 years ago

9.0.1

7 years ago

9.0.0

7 years ago

8.0.0

7 years ago

7.0.0

8 years ago

6.0.0

8 years ago

5.3.5

8 years ago

5.3.4

8 years ago

5.3.3

8 years ago

1.7.1

8 years ago

2.1.2

8 years ago

3.1.1

8 years ago

4.1.1

8 years ago

5.3.1

8 years ago

1.7.0

8 years ago

2.1.1

8 years ago

4.1.0

8 years ago

3.1.0

8 years ago

5.3.0

8 years ago

5.2.0

8 years ago

5.1.0

8 years ago

5.0.0

8 years ago

4.0.2

8 years ago

4.0.1

8 years ago

4.0.0

8 years ago

3.0.2

8 years ago

3.0.1

8 years ago

3.0.0

8 years ago

2.0.1

8 years ago

2.0.0

8 years ago

1.6.4

8 years ago

1.6.3

8 years ago

1.6.2

8 years ago

1.6.1

8 years ago

1.6.0

8 years ago

1.5.1

8 years ago

1.5.0

8 years ago

1.4.1

8 years ago

1.4.0

9 years ago

1.3.0

9 years ago

1.2.1

9 years ago

1.2.0

9 years ago

1.1.4

9 years ago

1.1.3

9 years ago

1.1.2

9 years ago

1.1.1

9 years ago

1.1.0

9 years ago

1.0.4

9 years ago

1.0.3

9 years ago

1.0.2

9 years ago

1.0.0

9 years ago