anvil-connect

OpenID Connect Provider

Anvil Connect

  • Share user accounts between multiple apps and services
  • 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
  • Manage access with RBAC
  • Use local passwords, OAuth 1.0, OAuth 2.0, OpenID, 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 auth logic
  • Keep your changes under version control without forking
  • Language and platform agnostic
  • Implements widely accepted, well-understood protocols
  • Growing number of client libraries available
  • MIT license

  • Node.js
  • npm
  • Redis
# Install the CLI
$ npm install -g anvil-connect
 
# Make a place for your deployment repository to live
$ mkdir path/to/project
$ cd path/to/project
 
# Generate a deployment repository
$ nv init
 
# Install dependencies
$ npm install
 
# Initialize the local database
$ nv migrate
 
# Create the first user account
$ nv signup
 
# Assign a role
$ nv assign <email> authority
 
# Start the server in development mode
$ nv serve

You should now have an OpenID Connect Provider running in development mode.

The docs are in need of attention. Please submit a issues if you encounter any difficulties.


  • Deprecates OAuth2Server project started in mid 2013
  • Used in production since July 2014
  • Active development as of March 2015

  • [ ] Invite-based registration
  • [ ] Email Verification/Multi-factor authentication
  • [ ] Improved CLI, REST API
  • [x] Shared sessions (Single Sign-On)
  • [ ] More middleware hooks for programmatically customizing auth flows
  • [ ] Attribute-based Access Control
  • [ ] Built-in support for more requested OAuth providers and protocols (LDAP, SAML, etc)
  • [ ] Client libraries for a variety of languages, frameworks and platforms
  • [ ] Groups
  • [ ] Brokering API access and marshaling third-party tokens
  • [ ] Containerized deployment support
  • [ ] Improved logging
  • [ ] Embedded, horizontally scalable datastore (eliminate Redis dependency)
  • [ ] Multi-tenancy
  • [ ] Web and mobile administration
  • [ ] Complete, tested OIDC interoperability
  • [ ] Tutorials, examples, blog posts, website, and API documentation
  • [ ] ...

There are many ways to get help and contribute.

  • Chat on Gitter
  • Join weekly Google Hangouts every Thursday
  • Pair Programming
  • Support and consulting available
  • Contact smith@anvil.io.


Copyright (c) 2014 Christian Smith http://anvil.io