1.1.8 • Published 4 years ago
accm v1.1.8
Basic JSON Account Management System for NodeJS
Installation
$ npm install accmUsage
let accm = require('accm'),
userDb = accm('./path/to/user/database.json');API
addUser(username, password, role, accountInfo)
username-StringThe username for the account to be created.password-StringThe user's password. Clear-text unless opts.passwordHashed istrue.- Note: The transmission of clear text passwords is unsafe. Passwords should be encrypted or hashed for transmission.
role-String | Array[String]Either a String or an array of Strings indicating the user's role(s).accountInfo-ObjectAdditional fields to be copied over to the user object.
removeUser(username)
username-StringThe username for the account to be deleted.
authenticate(username, password)
username-StringThe username for the account that is being logged into.password-StringThe user's password. Clear-text unless opts.passwordHashed istrue.- Note: The transmission of clear text passwords is unsafe. Passwords should be encrypted or hashed for transmission.
updateAccountField(username, key, value)
username-StringThe username for the account being updated.key-StringThe key to be updated (ie.role)value-AnyThe value to be stored (ie.Administrator).
updateRole(username, role)
username-StringThe username for the account being updated.role-String | Array[String]Either a String or an array of Strings indicating the user's role(s).
updatePassword(username, newPassword)
username-StringThe username for the account being updated.newPassword-StringThe new password.Note: It is recommended to require users to authenticate prior to allowing password changes.
checkAccess(username, allowedRoleOrRoles)
username-StringThe username for the account that is being checked.allowedRoleOrRoles-String | Array[String]Either a String or an array of Strings of the allowed roles.
checkUsernameExists(username)
username-StringThe username being checked.
listUsers()
- Note:
- This lists all users without passwords.
- All fields, including the additional customized fields, will be returned in the user object
- This is ideal for an Administration view listing users for management purposes.
Tests
$ npm testNote: This requires mocha, should, async, and underscore.
Current Coverage is:
Statements : 100% ( 62/62 )
Branches : 100% ( 39/39 )
Functions : 100% ( 16/16 )
Lines : 100% ( 56/56 )Features
- Customizable workflow
- Easily modified
- Hashed passwords using
password-hashmodule. - JSON database storage by default (more options coming soon)
1.1.8
4 years ago
1.1.7
4 years ago
1.1.6
5 years ago
1.1.5
5 years ago
1.1.4
5 years ago
1.1.3
5 years ago
1.1.2
7 years ago
1.1.1
7 years ago
1.1.0
7 years ago
1.0.3
8 years ago
1.0.2
9 years ago
1.0.1
10 years ago
1.0.0
10 years ago
0.0.7
10 years ago
0.0.6
10 years ago
0.0.5
10 years ago
0.0.4
10 years ago
0.0.3
10 years ago
0.0.2
10 years ago
0.0.1
10 years ago