0.1.2 • Published 1 year ago

accessctrl v0.1.2

Weekly downloads
-
License
MIT License
Repository
github
Last release
1 year 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

1 year ago

0.1.1

1 year ago

0.1.0

2 years ago

0.0.9

2 years ago

0.0.8

2 years ago

0.0.7

2 years ago

0.0.6

2 years ago

0.0.5

2 years ago

0.0.4

2 years ago

0.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago