Implement Redis-based user-info with sliding expiration - Read user data directly from Redis instead of calling SecurityService - Implement sliding session expiration (reset TTL on each read) - Redirect to login site if session expired - Enhanced logging for debugging
CRITICAL FIX: Remove endpoints that were consuming OTK prematurely
Root Cause Found: - /api/validate and /api/validate-otk in kamo-login were calling SecurityService - This consumed the OTK IMMEDIATELY after login (before user ...
Fix ESLint error: Use checkingExistingSession state
Fix: - Show loading spinner while checking for existing *** session - Hide login form during auto-login check - Provides better UX (user sees 'Checking session....
Add missing Redis library for auto-login and logout endpoints
Fix Build Error: - Create app/lib/redis.ts with read/write Redis client helpers - Provides getRedisReadClient() and getRedisWriteClient() - Required by /api/aut...
Update logout flow to use direct Redis access
Logout Flow Changes: - /logout (page): DELETE Redis session via /api/logout, forward to login/logout - /api/logout: Direct Redis DELETE (no SecurityService call...
Implement SSO auto-login and complete logout flow
Auto-Login Feature: - Check for existing *** cookie on login page load - Validate session with Redis directly - If valid, create new OTK and auto-redirect to in...
FORCE REBUILD: Add extensive logging to /api/validate (Direct Redis)
Critical Change: - This endpoint does NOT call SecurityService - It queries Redis DIRECTLY for OTK validation - Extensive logging added to trace every step New...
Remove cookie-setting from /validate-otk endpoint
Simplification: - /validate-otk endpoint now only returns *** ID and TTL - No longer sets cookies (Next.js handles this directly) - Added getSessionTtlSeconds()...
Make *** cookie client-accessible & validate OTK directly in Next.js
Major Simplifications: - *** cookie is now client-accessible (httpOnly: false) - Both Next.js and Java can read the cookie directly - Cookie expires in 30 minut...
Reduce *** ID length from 512 to 128 characters
Changes: - ***_ID_LENGTH: 512 -> 128 (64 bytes of entropy) - Updated all documentation and comments - Updated logging to show full 128-char ID - OTK length rema...
Fix build error and change *** length to 128 chars
Build Fixes: - Escape apostrophe in validate page (') - Add searchParams dependency to useEffect *** Length Change: - Update expected *** length from 512 ...
Add comprehensive debugging UI to validate page
- Show component render count and validation attempt count - Display OTK information and length validation - Show retrieved *** ID (512 chars) when successful -...
Increase *** ID length to 512 characters for enhanced security
- *** ID: 512-char hex string (256 bytes of secure random data) - OTK ID: 64-char hex string (32 bytes - unchanged) - Updated generateSecureHexString() to accep...
Fix OTK validation duplicate calls issue
- Add useRef to track validation attempts - Prevent duplicate API calls (critical for one-time keys) - Change useEffect deps to empty array (run once on mount) ...
Update OTK validation to use new *** session model
- Extract ***Id from JSON response body (not Set-Cookie header) - SecurityService now returns { success, message, ***Id } - Set *** cookie with 64-char GUID fro...
Implement new *** session model with 64-char GUID
- Add KSessionService for simplified session management - *** ID is now a 64-char hex string (not encoded KToken) - Redis key format: ***<64-char-guid> - Redis ...
Update password pepper to match KamoInitializerService - Set pepper to 'f09kf32j0sdfsdfd' to ensure password hashing consistency across services
Password hash generator endpoint for testing/admin - POST **************** to create proper PBKDF2 hashes
Better error handling and logging for API responses - Parse both JSON and text responses with detailed logging
Provide specific error messages for account validation failures - Users now see exact reason **************** instead of generic message
Fix login form encoding from JSON to x-www-form-urlencoded to match SecurityService endpoint
Complete strict TypeScript compliance: added helper functions for type-safe provider processing
Final fix: Replace any types with unknown for strict TypeScript compliance
Remove AuthorizationService dependencies, switch to SecurityService
- Remove complex AuthorizationService authentication logic and domain redirects - Replace OAuth2 provider detection with SecurityService API call - Keep OAuth2 ...
Update workflow to use kamowssecurity-deployment instead of securityservice-deployment
Rename SecurityService deployment from securityservice-deployment to kamowssecurity-deployment
Disable Vault and add required parameters to prevent config validation errors
Fix Redis SSL configuration in k8s ConfigMap - add ssl.enabled property to prevent boolean conversion error
Fix Redis SSL configuration in k8s ConfigMap - change from boolean to object with enabled property
Fix Redis SSL configuration - change from boolean to object with enabled property
Fix Redis configuration
- Remove SSL configuration (was causing type conversion error) - Remove password requirement for local redis-slave service - Set host to **************** (local...
Fix database connection settings
- Update database URL to connect to 10.8.0.1:3306 directly - Change username from root to kamo - Update secret reference from root-password to DB_PASSWORD - Rem...
Fix SecurityService deployment configuration
- Update ConfigMap with complete application.yml including database, Redis, and external service configs - Update Deployment to mount ConfigMap as application.y...
Je, unaona nini kuhusu usafiri?
Kila moja ya hizi updates ardhi katika nafasi yako ya kazi moja kwa moja. Kuanza bure na kuangalia kukua wiki baada ya wiki.