Class InMemoryApprovalTokenStore

java.lang.Object
com.tnsai.security.approval.InMemoryApprovalTokenStore
All Implemented Interfaces:
ApprovalTokenStore

public class InMemoryApprovalTokenStore extends Object implements ApprovalTokenStore
In-memory implementation of ApprovalTokenStore.

Suitable for development and testing. Tokens are lost on restart. For production, use a persistent implementation like Redis or database.

Features

  • Thread-safe with ConcurrentHashMap
  • Automatic expiry checking
  • Audit logging of approvals

Usage Example


 ApprovalTokenStore store = new InMemoryApprovalTokenStore();

 // Create token
 ApprovalToken token = store.createToken(
     "agent-1",
     "delete-user",
     Duration.ofMinutes(5)
 );

 // Simulate approval
 store.approve(token.getTokenId(), "admin");

 // Validate
 boolean valid = store.validateAndConsume(
     token.getTokenId(),
     "agent-1",
     "delete-user"
 );

 // Cleanup
 store.cleanupExpired();