GitHunt
AL

alanning/roles-npm

A user authorization library, integrates with MongoDB back-end, ported from Meteor accounts.

roles-npm

A user authorization library, integrates with MongoDB back-end, ported from Meteor accounts.

Based on the Meteor roles package Version 1.2.15.

Usage

In the directory with your project's package.json:

npm install @alanning/roles --save

In your app code:

import { Roles } from '@alanning/roles'
import { MongoClient } from 'mongodb'

// MongoDB connection
const db = await MongoClient.connect(MONGO_URL)
// Pass the users and roles collection to the Roles constructor
const roles = new Roles({
    users: db.collection('users')
    roles: db.collection('roles')
})
const isAuthorized = await roles.userIsInRole(loggedInUser, 'manager', 'acme')  

The roles instance has all the methods documented here.

Build

npm run build

Testing

Start your local MongoDB server:

mongod

Then:

npm test

A roles-npm database will be used during testing. Feel free to delete that database after the tests are run.

Languages

JavaScript100.0%

Contributors

MIT License
Created January 24, 2017
Updated February 28, 2023
alanning/roles-npm | GitHunt