TeskaLabs / seacat-auth

SeaCat Auth provides authentication, authorization, identity management, session management and other access control features.
GNU General Public License v3.0
11 stars 6 forks source link
authentication authorization fido2 ldap oauth2 openid-connect webauthn

SeaCat Auth

SeaCat Auth is a microservice that provides authentication, authorization, identity management, session management and other access control features. It is designed to be used as an access control app for other microservices.

📖 Documentation is available at docs.teskalabs.com.

SeaCat Auth provides a rich REST API documented in a Postman collection.

Features

Design

Components

This section clarifies role of various components in the SeaCat Auth ecosystem.

Web User Interfaces

There are two separate Web UIs (user interfaces):

Docker and Docker Compose

The whole site installation can be dockerized and deployed using docker-compose, see the documentation.

Docker image is available from DockerHub

Nginx

Nginx is used to forward requests coming from outside of the environment to protected locations. These requests are first forwarded to SeaCat Auth, where their authentication state is evaluated. If already authenticated, the request is allowed into the protected space.

MongoDB

Is employed by SeaCat Auth for storage of known users and other related persistent data.

Unit test

This is how unit tests are executed:

python3 -m unittest test