Migrate OrganizationController from KToken to session data and fix boolean comparisons
Add backend validation to block Everyone role modifications
- Added protection check in updateRole endpoint - Added protection check in deleteRole endpoint - Returns 403 Forbidden when attempting to modify protected role...
Add timezone to *** session data and user info endpoint
Update controllers to handle direct rights for departments and job titles
Add DepartmentController and JobTitleController with full CRUD endpoints
Use request-level caching with existing KSessionService instead of SessionUtilityService
Update SecurityRoleController to use session package SessionData
Update SecurityRoleController to use SessionUtilityService for efficient Redis session caching
Use getOrganizationFromRequest to get current user from Redis session
Use getOrganizationIdFromRequest instead of getCurrentUserOrganization
Add GET /api/security/roles/{id} endpoint to fetch single role with rights
Use getRoleByIdWithRights to prevent NullPointerException in DTO conversion
Trigger rebuild to use updated kamo-shared-library with description field support
Reload role after updating rights to populate rights collection for DTO conversion
Convert string rightType to RoleRightType enum in create/update role endpoints
Extract orgID directly from session data instead of loading full Organization entity
Fix compilation error: pass Organization object instead of Long to getRolesByOrganization
Replace mock data with real database queries for security roles
Update SecurityRoleController to use Long timestamps instead of LocalDateTime for mock data
Configure ObjectMapper to serialize dates as ISO-8601 strings
Add JavaTimeModule to ObjectMapper to handle LocalDateTime serialization
Fix build errors: convert Date to LocalDateTime and String to RoleRightSettingType
Add mock data implementation for security roles endpoints
Development mode: Remove all security requirements to focus on functionality
Make role rights endpoint publicly accessible to fix 403 error
Update SecurityRoleController to handle *** token and access Redis directly
Fix *** cookie to be client-accessible in logout endpoint - Changed setHttpOnly from true to false - *** should be client-accessible across all sites
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()...
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...
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...
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 ...
Use session cookies instead of persistent cookies with maxAge
Add usernameAlias, memberEmail, and countryAbbreviation to user-info endpoint
Remove cookie domain attribute for proper per-subdomain cookie setting
Update session naming - use *** cookie and SESSION<guid> Redis keys per SSO specification
Trigger rebuild with updated Redis config from shared library
Use shared library Redis configuration instead of local config
Implement Redis read/write splitting - writes to master (10.8.0.1), reads from replica
Like what you see shipping?
All of it arrives in your workspace on its own. Start on the free plan and read this page again in a month.
