Skip to content
MongoDB/Mongoose storage backend for oauth2-server
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
bin
src Add missing client data model properties Aug 15, 2018
test
.eslintrc.json Initial commit Aug 13, 2018
.gitignore
.npmignore
.travis.yml Initial commit Aug 13, 2018
LICENSE
README.md
package-lock.json
package.json

README.md

oauth2-server-mongoose

Build Status Greenkeeper badge

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

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

You can’t perform that action at this time.