Anvil Connect aims to be a scalable, full-featured, ready-to-run OpenID Connect + OAuth 2.0 Provider.
- Protect your apps and APIs with a shared identity and authorization service that you control
- Provide your users with a seamless authentication experience across several apps, as well as social signin via other providers like Google+
- Authorize third party access to your APIs on a user's behalf
- Be the bedrock of an ecosystem as an identity provider for other developers
We're building Anvil Connect for small teams like us that want to build fast, grow exponentially and need Identity and Access Management to be a solved problem.
- Deploy to the cloud in minutes
- Quickly connect your apps and APIs
- It's free and open source
Be sure to have recent versions of Node.js, npm, and Redis installed on your system before you begin.
# 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.
If you're using Modulus.io, deployment is a snap. Create a new project and edit the issuer
in config.production.json
to reflect your app's url. Be sure to configure Redis as well. Then set these environment variables in the project administration section:
ANVIL_CONNECT_PRIVATE_KEY
ANVIL_CONNECT_PUBLIC_KEY
You can copy these values from the .pem
files using $ nv copy keys/<private|public>.pem
. Be sure to use this command to copy the keys as it will encode the values as expected by Anvil Connect.
$ modulus deploy
Support for other deployment targets is in the works.
We aim to make it effortless.
Any compliant OpenID Connect client should be compatible. For example:
- Express with Passport's OpenID Connect strategy
- Java with MITREid Connect
If all else fails, you can use the HTTP API from any language, framework or platform. Please let us know if you write or test a client library. We'll list it here.
Copyright (c) 2014 Christian Smith http://anvil.io