Skip to content

SeaCat Auth provides authentication, authorization, identity management, session management and other access control features.

License

Notifications You must be signed in to change notification settings

TeskaLabs/seacat-auth

Repository files navigation

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

  • Authentication Service
  • Authorization Service
  • API Service
  • Tenant Service
  • Credentials Service
  • Session Service
  • Notification Service
  • Audit Service
  • OpenIDConnect Service
  • Provisioning Service
  • Batman Service
  • Cookie Service

Components

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

Web User Interfaces

There are two separate Web UIs (user interfaces):

  • SeaCat WebUI provides a graphical interface for Seacat Auth administration.
  • SeaCat Auth WebUI provides a login form, a password reset screen, and self-care user portal.

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