1.8 KiB
1.8 KiB
FreeIPA Account Manager
A simple, lightweight web application for managing user profile photos in a FreeIPA server.
Features
- LDAP Authentication: Secure login with existing FreeIPA credentials.
- Profile Management: View user details (Display Name, Email).
- Photo Upload: Users can upload and update their profile picture (
jpegPhotoattribute). - Session Management: Secure, cookie-based sessions with CSRF protection.
- Customizable: Configurable styling (logo, favicon) and LDAP settings.
Prerequisites
- Go 1.20+ installed on your machine.
- Access to an FreeIPA Server.
- A Service Account (Bind DN) with permission to search users and modify the
jpegPhotoattribute.
Setup & Installation
-
Clone the Repository
git clone https://github.com/GregoryWells2007/account-manager.git cd account-manager -
Configure the Application Copy the example configuration file to the production path:
cp data/config.example.json data/config.json -
Edit config put in your config values for ldap, and whatevery styling guidelines you would want to use
-
Install Dependencies
go mod tidy -
Run the Server
go run src/*.goThe application will be available at
http://<host>:<port>.
Directory Structure
src/: Go source code (main.go,ldap.go,session.go, etc.).src/pages/: HTML templates for login and profile pages.static/: CSS files, images, and other static assets.data/: Configuration files and local assets (logos).avatars/: Stores cached user profile photos.
License
This project is licensed under the MIT License - see the LICENSE file for details.