Skip to main content

Identity Service Overview

The Identity Service is the central authentication and authorization microservice for the Vecton platform. It handles user identity management, multi-factor authentication, and secure access control across all platform services.

Purpose

The Identity Service provides:

  • Centralized Authentication - Single sign-on for all Vecton services
  • Multi-tenant Support - Complete tenant isolation with UUID-based identification
  • Enterprise Security - 2FA, PIN codes, and advanced password policies
  • OAuth2 Integration - System-to-system authentication for microservices
  • Audit Trail - Complete logging of all authentication events

Architecture

┌─────────────────────────────────────────────────────────────┐
│ Identity Frontend │
│ (Vue 3 + Vuexy + TypeScript) │
└─────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────┐
│ Identity Backend │
│ (Laravel 12 + Sanctum) │
├─────────────────────────────────────────────────────────────┤
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ Auth │ │ 2FA │ │ Password Policy │ │
│ │ Module │ │ Module │ │ Module │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
│ ┌─────────────┐ ┌─────────────┐ ┌─────────────────────┐ │
│ │ PIN │ │ Devices │ │ OAuth2/System │ │
│ │ Module │ │ Module │ │ Auth │ │
│ └─────────────┘ └─────────────┘ └─────────────────────┘ │
└─────────────────────────────────────────────────────────────┘


┌─────────────────────────────────────────────────────────────┐
│ PostgreSQL + Redis │
└─────────────────────────────────────────────────────────────┘

Key Features

Authentication

  • JWT token-based authentication using Laravel Sanctum
  • Remember me functionality with extended token expiration
  • Automatic session management

Two-Factor Authentication (2FA)

  • TOTP-based 2FA compatible with Google Authenticator, Authy, etc.
  • QR code generation for easy setup
  • Recovery codes for account recovery

Security PIN

  • 6-digit PIN for sensitive operations
  • PIN validation rules (no sequential or repeated digits)
  • Lockout after failed attempts

Password Policy

  • Minimum 12 characters
  • Complexity requirements (uppercase, lowercase, numbers, special chars)
  • Password history (last 5 passwords cannot be reused)
  • Forced password change on first login or admin reset

Device Management

  • Track trusted devices
  • Ability to revoke device access
  • Device fingerprinting for security

Audit Logging

  • All authentication events logged
  • IP address and user agent tracking
  • Activity timeline for users

Technology Stack

ComponentTechnology
Backend FrameworkLaravel 12
AuthenticationLaravel Sanctum
DatabasePostgreSQL 15
CacheRedis 7
FrontendVue 3 + TypeScript
UI FrameworkVuexy (Vuetify-based)
TestingPHPUnit + Cypress

API Base URL

Production: https://identity.vecton.hu/api
Development: http://localhost:8000/api