C++ Userbase Service
Overview
A minimal, robust authentication and session management backend written in C++. The purpose was to explore the essentials of user creation, password hashing, database transactions, and persistent sessions without bulky web frameworks.
Key Architectural Highlights
- PostgreSQL with libpqxx: Managed database interactions with parameterized queries to prevent SQL injection and ensure transactional integrity.
- Password Security: Cryptographic password hashing and verification before database storage.
- Session Management: Token-based session authentication with validation and expiration handling.
- Minimalist HTTP Server: Lightweight request handling dispatching authentication endpoints.
Repository
Przegląd projektu
Minimalistyczny i wydajny backend do uwierzytelniania i zarządzania sesjami użytkowników napisany w C++. Celem było poznanie od podszewki mechanizmów rejestracji, haszowania haseł, transakcji bazodanowych i sesji bez użycia ociężałych frameworków.
Główne założenia architektoniczne
- PostgreSQL i libpqxx: Bezpieczna komunikacja z bazą danych przy użyciu zapytań parametryzowanych i transakcji.
- Bezpieczeństwo haseł: Kryptograficzne haszowanie i weryfikacja haseł przed zapisem do bazy.
- Obsługa sesji: Tokenowe uwierzytelnianie sesji z kontrolą czasu wygaśnięcia.
- Prosty serwer HTTP: Lekki serwer obsługujący endpointy uwierzytelniania.