Skip to content

authup/authup

Authup banner

main Known Vulnerabilities Conventional Commits

What is Authup?

Authup is an authentication & authorization system. It is designed to be easy to use and flexible, with support for multiple authentication strategies. With Authup, developers can quickly and easily add authentication & authorization to their applications.

Table of Contents

Features

  • 🌐 Integration - Easy integration into existing systems and only use the components you need
  • πŸ›‘οΈ Identity- & Access-Management - Manage user identities and control access to resources
  • 🏭 Clustering - Cluster and scale authup for high availability and performance with Docker/Kubernetes
  • ⚑ Blazing Fast - Fast and reliable system due to microservice architecture
  • οΈβ€οΈπŸ•΅οΈβ€β™€οΈ Logging & Monitoring - Logs and monitors activities and transactions to detect potential security issues
  • πŸ‘€ Single-Sign On - Login once to multiple applications
  • πŸ“œ Standard Protocols - LDAP, OAuth2.0 & OpenID Connect
  • πŸ‘ Social Login - Easy enable social login (GitHub, Google, Facebook, ...)
  • 🀝 Identity Brokering - OpenID Connect
  • πŸ”“ Simple claim based and fully featured subject and attribute based authorization
  • 🧩 Isomorphic & declarative permission management. Serialize and share permissions between UI, API & microservices
  • πŸ’» TypeScript and JavaScript support
  • πŸ“š Client libraries
  • & much more

Documentation

To read the docs, visit https://authup.org

Usage

How Authup can be configured and set up in detail, you can find out here.

Docker

The recommended and optimal way to set up authup is using docker.

To run the backend application with default settings on http://localhost:3001/, execute the following command:

$ docker run \
  -v authup:/usr/src/writable \
  -p 3001:3000 \
  authup/authup:latest server/core start

To run the frontend application with default settings on http://localhost:3000/, execute the following command:

$ docker run \
  -p 3000:3000 \
  authup/authup:latest client/web start

Bare Metal

The easiest way to get the framework up and running, is by using the global CLI. Therefore, execute the following shell command.

$ npx authup@latest start

To find out how to configure and set up the bare metal variant in detail, click here.

This will lunch the following application with default settings:

  • Frontend Application: http://localhost:3000/
  • Backend Application: http://localhost:3001/

Packages

The repository contains the following packages:

Name Type Description
authup CLI A command line interface for interacting with various applications and services within the ecosystem.
client-web Application A web application interface for end users.
client-web-config Library A library for creating and managing configurations for the web client application.
client-web-kit Library A toolkit containing reusable components, composition aids and utilities for the web application.
config Library A collection of configuration helpers for the client and server side.
core-kit Library A toolkit providing functions, interfaces and utilities for the core service.
core-realtime-kit Library A toolkit for the core socket service.
kit Library A toolkit for the whole ecosystem.
server-core Service A service that forms the backbone of the server-side ecosystem.
server-core-plugin-kit Library A plugin toolkit targeting external services.
server-core-plugin-http Library A plugin for a HTTP service.
server-core-plugin-socket-io Library A plugin for a socket.io service.
server-kit Library A dedicated toolkit for server-side services.

Contributing

Before starting to work on a pull request, it is important to review the guidelines for contributing and the code of conduct. These guidelines will help to ensure that contributions are made effectively and are accepted.

Comparison

Authup Keycloak Authentic Authelia
Realm Resources (User, Roles, Permissions, ...) βœ“ βœ“ βœ— βœ—
Global Resources (Roles, Permissions, ...) βœ“ βœ— βœ“ βœ“
Modular System βœ“ βœ— βœ“ βœ—
Client Library βœ“ βœ“ βœ“ βœ—
Vue.JS Library βœ“ βœ— βœ— βœ—
OAuth2 Protocol βœ“ βœ“ βœ“ βœ“
OpenID Connect Protocol βœ“ βœ“ βœ“ βœ“
LDAP Protocol βœ“ βœ— βœ“ βœ“

License

Made with πŸ’š

Published under Apache 2.0 License.