movableink/doorman

HTTP Proxy + OAuth

JavaScript

166

101 commits

updated Oct 6, 2023

See the code

README

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.

Contributors

mnutt

76 commits

kcrayon

6 commits

kuahyeow

4 commits

AndrewJo

3 commits

movableink/doorman

HTTP Proxy + OAuth

JavaScript

166

101 commits

updated Oct 6, 2023

See the code

README

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.

Contributors

mnutt

76 commits

kcrayon

6 commits

kuahyeow

4 commits

AndrewJo

3 commits

Languages

JavaScript

81.2%

CSS

14.7%

HTML

4.1%