Home

Awesome

auth-server

Example

Run the following query:

curl -X POST -H "Content-Type:application/x-www-form-urlencoded" -H "Authorization: Basic dGVzdDpzZWNyZXQ=" -d "grant_type=password&username=johndoe&password=A3ddj3w" localhost:3000/oauth/token

Dockerfile

If you're not using docker-compose you can build and tag a new image like this:

$ sudo docker build -t <your username>/auth-server .

Run the container in interactive mode:

$ sudo docker run -p 3000:3000 <your username>/auth-server

Run the container in detached mode:

$ sudo docker run -d -p 3000:3000 <your username>/auth-server

Now go to http://localhost:3000 in your browser and you should see result!

Tests

When contributing, please add tests! API tests using supertest are preferred.

API

POST /user

{
    email: 'example@localhost.tst',
    password: 'myPassword',
    roles: ['root']
}

Directory structure

The project is organized as follows:

/src - All files in here are copied to the Docker container.
/src/api - Contains request handlers excluding those in  the `node-oauth2-server` library.
/src/boot - Contains scripts run each time when starting the server.
/src/config - Contains configuration files. You can overwrite most configuration variables with environment variables.
/src/lib - Contains singletons and generic functions.
/src/locales - Contains language files.
/src/models - Contains `mongoose` models.
/src/test - Contains API test files.
/src/test/* - Mimics the directory structure of files being tested.
/deploy - Contains files related to deployment and building the docker image.