0.1.2 • Published 2 years ago

accessctrl v0.1.2

Weekly downloads
-
License
MIT License
Repository
github
Last release
2 years ago

AccessCtrl

AccessCtrl library to generate standard configuration based on the API resource comments to secure API access and also provide a method to verify that incoming request has the permission to access the resource or not.

License

MIT License

Features

  • ACL Configuration Generator
  • Resource level Access Verification

Installation

  npm i accessctrl --save

Usage/Examples

Generate Access configuration JSON

    /**
	 * @apiType POST
	 * @apiKey Create User
	 * @apiPath /api/i/user
	 * @apiGroup User
	 * @apiPermission admin
	 */
ParameterDescription
@apiTypeRequired. Methods GET, POST, PATCH, DELETE
@apipKeyUnique Reference String
@apiPathRequired. Resource Path
@apiGroupRequired. Resource Group, unique Value
@apiPermissionRequired. comma seperated string e.g: admin,user,moderator

Usage

    const list = accessCtrl.generateACL({
        source: "server/**/*.routes.js"  //location of the routes/controller
    });

Output

  Generated Successfully

Verify JSON

Prerequisite

Need Role priority

  const rank = [
    { role: "user", priority: 3 },
    { role: "moderator", priority: 2 },
    { role: "admin", priority: 1 },
  ];
ParameterDescription
userRoleRequired. "user"
requestPathRequired. '/api/i/article"' Current request resource path
requestMethodRequired. "POST" Current Request method

Usage

    const accessCtrl = require("accessctrl");
    const aclConfig = require("./acl.json");

    accessCtrl.initAcl(rank, aclConfig)
    const status = accessCtrl.verifyPermission( userRole, requestPath, requestMethod);

Output

  true/false
0.1.2

2 years ago

0.1.1

3 years ago

0.1.0

3 years ago

0.0.9

3 years ago

0.0.8

3 years ago

0.0.7

3 years ago

0.0.6

3 years ago

0.0.5

3 years ago

0.0.4

3 years ago

0.0.3

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago