A modern authorization server built to authenticate your users and protect your APIs
CoffeeScript JavaScript HTML CSS Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
boot Repaired linting errors and updated for change in Buffer api. Aug 15, 2017
email feat(pwreset): Implement password reset Aug 21, 2015
errors style: Use Javascript Standard Style Aug 21, 2015
lib Repaired linting errors and updated for change in Buffer api. Aug 15, 2017
migrations Repaired linting errors and updated for change in Buffer api. Aug 15, 2017
models Swapped Buffer.alloc to Buffer.from. Aug 22, 2017
oidc fix(signout): the return in Client.get callback doesn't avoid res.sen… Sep 20, 2016
protocols Fixes for unit tests. Aug 23, 2017
providers Repaired linting errors and updated for change in Buffer api. Aug 15, 2017
public Use new Google logo on sign-in page Sep 18, 2015
routes Repaired linting errors and updated for change in Buffer api. Aug 15, 2017
test Trying tighter syntax. Aug 24, 2017
views Add response_mode hidden field to authorize view May 26, 2016
.DS_Store Fixes for users.coffee in integration for "Resolution method is overs… Aug 23, 2017
.bowerrc session state calculation Mar 31, 2015
.eslintignore eslint to ignore public vendor scripts. Nov 3, 2015
.eslintrc style: Add EOF linebreak to .eslintrc Sep 10, 2015
.gitignore Added .DS_Store to gitignore. Aug 23, 2017
.travis.yml Added Node v8 to travis. Aug 24, 2017
CHANGELOG.md release 0.1.59 Jan 10, 2016
CONTRIBUTING.md Create separate section for code style guidelines Sep 22, 2015
Gruntfile.js chore: Remove grunt-conventional-changelog Sep 4, 2015
LICENSE assign copyright to Anvil Research, Inc. Apr 29, 2015
README.md Update README.md Mar 1, 2016
bower.json Push session updates to session endpoint with SSE Apr 14, 2015
coverage.sh Add coveralls badge and improve build script. Oct 30, 2015
package-lock.json Added package-lock Aug 23, 2017
package.json 0.2.0 Aug 27, 2017
server.js Use /users/:id/password route instead of /userPassword to update pass… Apr 7, 2016


Anvil Connect

Join the chat at https://gitter.im/anvilresearch/connect Slack IRC

Build Status Coverage Status Dependencies License Downloads npm

We're building a modern authorization server to authenticate your users and protect your APIs.

Simplified Security

  • Share user accounts between multiple apps and services with Single Sign-On (shared sessions)
  • Issue signed JSON Web Tokens to protect your APIs
  • Be a federated identity provider with OpenID Connect
  • Enable third-party developers using two- and three-legged OAuth 2.0

Flexible User Authentication

  • Use local passwords, OAuth 1.0, OAuth 2.0, OpenID, SAML 2.0, LDAP, Active Directory, and more
  • Works out of the box with Google, Facebook, Twitter, GitHub, and a growing list of providers
  • Custom schemes using virtually any existing Passport.js strategy or your own code

Make it yours

  • Brand the interface with your own design
  • Use middleware hooks for domain specific implementations
  • Keep your changes under version control without forking

Standard, Interoperable, and Open Source

  • Language and platform agnostic
  • Implements widely accepted, well-understood protocols
  • MIT license

Getting Started


We are a growing community of contributors of all kinds, join us!

Chat on Gitter or Slack

Come say hello on Gitter or Slack! We love talking shop with Anvil Connect users :)

Gitter Slack IRC

Weekly Community Meetings

Every Thursday at 9AM PDT / 12PM EDT / 4PM GMT we get together to map out the future of the project, talk through specs, review code, and help each other ship. You're welcome to join in.

Pair Programming

We often pair on more challening or new code, hop into Gitter or Slack and join us, or request your own session.

Need more engagement?

Support and consulting also available, contact us via the website or by email


  • Used in production since July 2014
  • Active development as of March 2015

MIT License

Copyright (c) 2015 Anvil Research, Inc.