express-meshblu-auth
v9.2.1
Published
Express middleware for all meshblu auth styles
Downloads
279
Readme
Express Meshblu Authentication Middleware
Express middleware to support all meshblu auth styles
Supported Auth Methods
- cookies:
request.cookies.meshblu_auth_uuid
andrequest.cookies.meshblu_auth_token
- headers:
request.cookies.meshblu_auth_uuid
andrequest.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);