coinstac-storage-proxy
v4.0.2
Published
COINSTAC hapi plugin for securing CouchDB.
Downloads
50
Readme
coinstac-storage-proxy
COINSTAC hapi plugin for securing CouchDB. Documentation.
A hapi plugin that registers HTTP endpoints to perform authentication and authorization of requests to the COINSTAC storage service (CouchDB).
This package is unused as of COINSTAC v3
Installation
# install from git
npm i --save coinstac-storage-proxy
Use:
See API documentation here.
Dependencies
- h2o2 (hapi plugin)
- authentication: This plugin assumes that you have set up authentiation on
your hapi server already, and expects to find the user's username at
request.auth.config.username
to perform authorization.
const hapi = require('hapi');
const storageProxy = require('coinstac-storage-proxy');
const h2o2 = require('h2o2'); //proxy utility for hapi
const server = new hapi.Server();
server.connection(); //set up default hapi connection
server.register(
[
{
register: storageProxy,
options: { targetBaseUrl: 'http://localhost:5984'}
},
h2o2
],
(err) => {
if (err) {
//something went wrong
}
}
);
server.start();
Configuration Options:
targetBaseUrl required sets the baseUrl for redirection.
- Must include:
- protocol (e.g. 'http')
- hostname (e.g. 'example.com')
- May include:
- port (e.g. ':5984')
- path-prefix (e.g. '/myCouchInstance') (request path will be appended)
- querystring (e.g. '?authToken=...') (request querystring will be appended)
- Must include:
Authentication enforcement
See src/index.js
for a list of supported endpoints and how authorization is
enforced.
License
MIT. See LICENSE for details.