Middleware pattern

A2AServer server = A2AServer.builder()
    .agent(myAgent)
    .addInterceptor(new AuthzInterceptor(policy))
    .build();
Advertisement

Policy expressed once

'Users with role=finance can invoke agent=expense'. Not repeated in agent code. Config-driven.

Advertisement

Deny by default

Unlisted user gets denied. Fail closed, not open.