oauth2-server-mongoose
MongoDB/Mongoose storage backend for oauth2-server
Features
- Stores the following in MongoDB:
- Clients
- Users
- Bundled Mongoose models encrypt client secrets and user passwords using
bcrypt
Requirements
- Node.js 10+
- oauth2-server
- mongoose
- mongoose-bcrypt plugin
Installation
$ npm install --save @compwright/oauth2-server oauth2-server-mongoose mongoose mongoose-bcrypt
Usage
const OAuth2Server = require('@compwright/oauth2-server');
const mongooseStore = require('oauth2-server-mongoose');
const oauth = new OAuth2Server({
model: {
...mongooseStore({
// Optional - you can specify your own models for clients and users:
// ClientModel: mongoose.model('OAuthClient'),
// UserModel: mongoose.model('OAuthUser')
})
}
});
See client.model.js and user.model.js for the default model configuration.
Note: if you do supply your own models, be sure to maintain the same plugins, static methods and query helpers.
Bundled Scripts
oauth2-create-client [dburl]
Interactive script to add a client to the oauthclients
database collection.
Generates and encrypts the client secret automatically.
oauth2-create-user [dburl]
Interactive script to add a user to the oauthusers
database collection.
Encrypts the user password automatically.
License
MIT license