Skip to content

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

License

Notifications You must be signed in to change notification settings

adi-ads/anvil-connect

This branch is 528 commits behind anvilresearch/connect:master.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

author
Adi Chikara
Apr 24, 2015
39adda9 · Apr 24, 2015
Jun 10, 2014
Apr 23, 2015
Apr 8, 2015
Apr 19, 2015
Apr 8, 2015
Apr 17, 2015
Apr 8, 2015
Mar 5, 2015
Apr 14, 2015
Apr 19, 2015
Apr 24, 2015
Apr 23, 2015
Mar 31, 2015
Mar 31, 2015
Mar 19, 2014
Apr 23, 2015
Apr 14, 2015
Feb 21, 2015
Apr 24, 2015
Mar 22, 2015

Repository files navigation

Anvil Connect

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

Join the chat at https://gitter.im/christiansmith/anvil-connect

Simplified Security

  • 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

Flexible User Authentication

  • 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

Make it yours

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

Standard, Interoperable, and Open Source

  • Language and platform agnostic
  • Implements widely accepted, well-understood protocols
  • Growing number of client libraries available
  • MIT license

Get Started

Requirements

  • Node.js
  • npm
  • Redis

Setup

# 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.

Documentation

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


Status

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

Roadmap

  • Invite-based registration
  • Email Verification/Multi-factor authentication
  • Improved CLI, REST API
  • 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
  • ...

Development

There are many ways to get help and contribute.

Pair program with me!

MIT License

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

About

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

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • CoffeeScript 51.5%
  • JavaScript 46.3%
  • HTML 1.3%
  • CSS 0.9%