arrow-left
All pages
gitbookPowered by GitBook
1 of 1

Loading...

Introduction

A OAuth2 Server, sometimes also referred to as an OAuth 2.0 Server, OAuth Server, Authorization Server, is a software system that implements network protocol flows that allow a client software applica

hashtag
About Authority Server

Authority is an OAuth 2 Server, sometimes also referred to as an OAuth 2.0 Server, OAuth Server, Authorization Server, is a software system that implements network protocol flows that allow a client software application to act on behalf of a user.

Authority is an OpenID OAuth 2.0 Server and OpenID Connect Provider written in Crystal optimized for low-latency, high throughput, and low resource consumption. Authority has a built in identity provider user login.

Authority is an open source API security for your infrastructure.

hashtag
Architecture

Authority follows architecture principles that work best on container orchestration systems such as Kubernetes, CloudFoundry, OpenShift, and similar projects. While it is possible to run the Authority stack on a RaspberryPI, the integration with the Docker and Container ecosystem is best documented and supported.

Authority's architecture is designed along several guiding principles:

  • Minimal dependencies (no system dependencies; might need a database backend)

  • Runs everywhere (Linux, macOS, FreeBSD, Windows; AMD64, i386, ARMv5, ...)

  • Scales without effort (no memcached, etcd, required, ...)

  • Minimize room for human and network errors

hashtag
OAuth 2 Implementations

Implementing and using OAuth2 without understanding the whole specification is challenging and prone to errors, even when SDKs are being used. The primary goal of Authority is to make OAuth 2.0 and OpenID Connect 1.0 better accessible.

The Authority implements five grants for acquiring an access token:

  • Authorization code Grant

  • Implicit Grant

  • Resource owner credentials grant

  • Client credentials grant

hashtag
Explore the implementations

The following RFCs are implemented:

hashtag
Why Authority is Different​

Authority differentiates itself in the following key areas:

  • Everything is developed and licensed under Open Source Principles, allowing you to participate, collaborate, and understand the inner workings of Authority.

  • You can bring your own UI, in the programming language of your choosing, with the user experience that you like.

  • From designing Identity Schemas, to webhooks, to advanced configuration options - Authority is fully customizable.

Refresh token Grant

  • Device Token Grant

  • Authority spans the whole authentication and authorization real with well-designed APIs:
    • Identity Management

    • Session management

    • Flows for login

    • Registration

    • Account recovery & verification

    • Mfa, and many more.

    OAuth 2 Grant Flowschevron-right
    RFC6749 "OAuth 2.0"arrow-up-right
    RFC6750 " The OAuth 2.0 Authorization Framework: Bearer Token Usage"arrow-up-right
    RFC7519 "JSON Web Token (JWT)"arrow-up-right
    RFC7636 "Proof Key for Code Exchange by OAuth Public Clients"arrow-up-right