Interlock Technical Overview

Glossary

  • Samba LDAP: Lightweight Directory Access Protocol (Tested with Samba LDAP)
  • Microsoft ADDS: Active Directory Domain Services (Tested with WS2022)

Overview

Interlock is an Open-Source SSO Identity Provider that may also serve as an LDAP/ADDS Directory Management Tool, allowing for User, Groups, OU, and DNS CRUD operations.

See below the full contributor list.

This tool consists of a Front-end and a Back-end that allow for a responsive and intuitive way to administrate SSO Applications, Local and LDAP/ADDS Servers from anywhere through a Web GUI.

It also allows for End-user Self-management (Password and Detail changes) and administration logging.

To learn more feel free to check out the other sub-sections within the Interlock Documentation.

Dependencies Used

  • python3 (>= 3.11),
  • python3-venv,
  • python3-pip (>= 23.0.1),
  • postgresql (>= 14),
  • curl (>= 7),
  • nginx (>= 1.18),
  • openssl,
  • lsb-release,
  • sudo

Development Only

Interlock Front-end Overview

The front-end is made in VueJS and Vuetify, a Java-script Framework and UI Library respectively.

It’s structure is designed with simplicity and modularity in mind to be able to easily add whatever new functionalities we might be require in the future.

Interlock Back-end Overview

The back-end was created with Python and DRF (Django Rest Framework), and is essentially the workhorse that communicates with the LDAP Server or Servers (if a server pool is used).

It uses SSL (unless explicitly disabled) and JWT Authentication to communicate with the Front-end securely.

It’s where all the magic happens: bytes, structures, and weird encoded stuff gets converted into readable data, and it’s been some tough stuff to work with as LDAP saves stuff like DNS Records and Permissions in a very cryptic, low-level way.

Full Contributor List