A modern authorization server built to authenticate your users and protect your APIs

Anvil Connect

You can find professional services and sponsor information on our website.

  • 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
  • Use local passwords, OAuth 1.0, OAuth 2.0, OpenID, 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
  • Brand the interface with your own design
  • Use middleware hooks for domain specific implementations
  • Keep your changes under version control without forking
  • Language and platform agnostic
  • Implements widely accepted, well-understood protocols
  • MIT license

The CLI tools require recent versions of Node.js (or io.js) and npm. If you plan to run your server with Docker, you'll need Docker and Docker Compose installed (we provide Dockerfiles and docker-compose.yml). On Mac OS X you'll also need boot2docker. If you wish to run the server without Docker, you'll need access to a local or remotely accessible Redis instance. Python, C/C++ compiler are needed on your system for building native Nodejs packages, and OpenSSL is required to create key pairs and certificates. In production, you'll also need a reverse proxy/ load balancer that handles SSL termination. We recommend nginx.

$ npm install -g anvil-connect anvil-connect-cli
# Make a place for your project to live
$ mkdir path/to/project
$ cd path/to/project
# Generate a deployment repository
$ nvl init
? What would you like to name your Connect instance? myauthserver
? What (sub)domain will you use?
? Would you like to use Docker? Yes
? Would you like to run Redis? Yes
? Would you like to run nginx? Yes
? Would you like to create a self-signed SSL cert? Yes
? Country Name (2 letter code) US
? State or Province Name (full name) South Dakota
? Locality Name (eg, city) Rapid City
? Organization Name (eg, company) Anvil Research, Inc.

Run docker-compose from the root of your new project.

$ docker-compose up -d

The first time, you'll need to install npm and bower dependencies.

$ cd connect
$ npm install && bower install

Then you can start the server in with node or npm.

# development mode
$ node server.js
# production mode
$ NODE_ENV=production node server.js

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

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

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.

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

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

Copyright (c) 2015 Anvil Research, Inc.