verification_keys | Optional[List[str]] | None | List of keys used to verify JWT signatures. For asymmetric algorithms (e.g. RS256), use public keys. For symmetric algorithms (e.g. HS256), use shared secrets. Each key is tried in order until one succeeds. Useful for accepting tokens from multiple issuers. |
jwks_file | Optional[str] | None | Path to a static JWKS (JSON Web Key Set) file containing public keys. Keys are matched by kid (key ID) from the JWT header. Alternative to verification_keys for RSA key management. |
algorithm | Optional[str] | "RS256" | JWT algorithm for token verification. Common options: RS256 (asymmetric), HS256 (symmetric). |
verify_audience | Optional[bool] | False | Whether to verify the JWT’s aud claim matches the expected audience. |
audience | Optional[str] | AgentOS id | Expected audience claim. When verify_audience=True, the token’s aud must match this value. Defaults to the AgentOS id. |
admin_scope | Optional[str] | "agent_os:admin" | The scope that grants full admin access. Holders bypass user isolation and can access all data. |
user_isolation | bool | False | Opt-in per-user data isolation. When True, non-admin callers can only read and write rows associated with their JWT sub claim. Affects sessions, memories, traces, and cancel/resume/continue routes. |