grant-server
TypeScript icon, indicating that this package has built-in type declarations

3.1.1 • Public • Published

Grant Server

Codecov CI semantic release

This module is a packaged Grant OAuth proxy server. That means that you can just install this package and run grant-serve to have a proxy OAuth server running.

Install

npm install grant-server

run it:

grant-serve

Table of Contents

How it works

After installing, you will need a grant configuration file to set up different OAuth providers. By default, the module looks for grant.config.json file in the currently executing directory. The server will automatically watch for changes in the configuration file and it will automatically reload.

example configuration file with Google auth:

{
  "defaults": {
    "origin": "http://localhost:3000",
    "prefix": "/oauth"
  },
  "google": {
    "key": "CLIENT_ID",
    "secret": "CLIENT_SECRET",
    "callback": "https://redirect-user-to-your-app.com",
    "scope": ["openid"]
  }
}

By using the file above we are enabling google OAuth point on http://localhost:3000/oauth/google, and we are asking for OpenID scope. After the tokens have been acquired, the caller will be redirected to https://redirect-user-to-your-app.com with the tokens available via query parameters.

Command line options

  • -c or --config Grant configuration file. If not provided, by default server will look for grant.config.json in the currently executing directory.

  • -d or --debug Enable writing tokens to stdout. It uses request-logs module. If only the flag is passed it will default to res,json otherwise you can customize what the output will be e.g. -d res,req,json,body

  • p or --proxy By default internal express app will have trust proxy flag set to true. You can pass in false to disable the proxy. Or use any of the options supported by the express app

Docker image

Docker image is available on docker hub. Image is based on github releases, so it's always up to date.

Docker usage

Pull the image:

docker image pull ivandotv/grant-server

Run the container:

docker run -it -v /config-dir:/opt/grant-server/config-dir ivandotv/grant-server -d -c config/config.json

Few things to keep in mind when using the docker image.

  • Server is started in /opt/grant-server directory inside the container.
  • Make sure that the exposed port is the same as in the configuration file.
  • If you mount only the external config file: -v config.json:/opt/grant-server/config.json Automatic reloading of the server will not work, because the server will not see the changes in the file. Better option is to mount the directory where configuration file is located: -v /config-dir:/opt/grant-server/config-dir and then pass the -c flag to the container like so: -c config/config.json.

Package Sidebar

Install

npm i grant-server

Weekly Downloads

246

Version

3.1.1

License

none

Unpacked Size

41.7 kB

Total Files

20

Last publish

Collaborators

  • ivandotv