A user authorization library, integrates with MongoDB back-end, ported from Meteor accounts.
Based on the Meteor roles package Version 1.2.15.
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.
npm run build
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.