GRPC ACL microservice in node. Built on top of condor-framework and acl.
npm i --save grpc-acl
npm i --save condor-framework
npm i --save acl
- Copy the acl.proto file.
- Create your server with the following code:
const acl = require('acl');
const AclServer = require('grpc-acl').AclServer;
// Using memory backend. redis, mongo and others available (See acl module documentation)
const backend = new acl.memoryBackend();
const options = {
'host': 'localhost',
'port': 3000,
};
const server = new AclServer(backend, options);
// you can add here your own middleware. (See condor-framework documentation)
server.start();
To call the service:
const caller = require('grpc-caller');
const client = caller('localhost:3000', './acl.proto', 'AclService');
client.addUserRoles({'user': 'joed', 'roles': ['guest']}).then(() => {
console.log('done!');
});
To find which methods are implemented take a look at the acl.proto
file. They are pretty similar to the ones found in the documentation of the acl module.
You can take the integration test as an example too.
backend
. Check ACL documentation.options
.
You can pass any condor options, and also the following:
Option | Description | Default |
---|---|---|
aclProtoFilePath | Path to the acl.proto file |
./acl.proto |
aclServiceFullName | Service full name of the AclService (must match to the one in the proto file) | acl.AclService |
MIT License. Copyright 2017
Built by the GRPC experts at Devsu.