Permalink
Fetching contributors…
Cannot retrieve contributors at this time
70 lines (47 sloc) 1.94 KB

DOORMAN

Doorman is an http proxy that authenticates via OAuth.

Your organization probably has some internal services that need to be password-protected. You likely also already manage users using an external service. (Github, Google Apps, etc) Wouldn't it be nice if you could delegate your internal app's authentication/authorization to that app?

Screenshot

Requirements

  • node.js >= 0.8.x

Installation

  • npm install
  • copy conf.example.js to conf.js and modify
  • npm start

Strategies

Doorman uses everyauth for authenticating, so it supports a wide variety of providers for authentication. For authorization, we need to determine which authenticated users to let in. (see lib/modules) So far only the Github and Google modules are complete, but others are fairly easy.

Acknowledgements

Doorman is pretty much just everyauth (https://github.com/bnoguchi/everyauth) and node-http-proxy (https://github.com/nodejitsu/node-http-proxy) grafted together, and those two projects do most of the heavy lifting.

Changelog

0.4.1

  • bump http-proxy version to fix #32 (AlexRRR)

0.4.0

  • breaking: simplify session cookie config. (see conf.example.js) (kcrayon)
  • pass config file as a second argument (kcrayon)
  • google auth only prompts user when necessary (kuahyeow)
  • reduce github permissions to minimum necessary (dwradcliffe)
  • https support (AndrewJo)
  • conf.environment.js config for using environment variables (pataquets)
  • replace winston logging with stdout/stderr

0.3.0

  • requiredEmail option for github and google modules
  • requiredDomain and requiredOrganization options can be arrays
  • /_doorman/logout route
  • Upgrade everyauth to 0.4.9 (#18)

License

Licensed under the MIT License. See LICENSE.