1pub mod authn_cache;
12pub mod bearer;
13pub mod bearer_token_layer;
14pub mod bind_gate;
15pub mod built_in;
16pub mod claims;
17pub mod credential_source;
18pub mod http_client;
19pub mod introspection;
20pub mod introspection_auth;
21pub mod jwks;
22pub mod jwt;
23pub mod kernel;
24pub mod native_auth;
25pub mod oauth2;
26pub mod permission;
27pub mod permission_cache;
28pub mod permission_policy;
29pub mod registry;
30pub mod token_authenticator;
31pub mod types;
32
33pub use authn_cache::{AuthnCache, AuthnCacheKey, AuthnCacheOptions};
34pub use bearer::extract_bearer_token;
35pub use bearer_token_layer::{BearerTokenLayer, BearerTokenService};
36pub use bind_gate::{BindExposureAcks, enforce_bind_exposure_gate};
37pub use built_in::{RolePolicy, ScopePolicy};
38pub use claims::{ClaimPaths, ClaimsMapper, JsonPointerClaimsMapper, escape_json_pointer};
39pub use credential_source::{CredentialSource, extract_token_multi, redact_query_params};
40pub use http_client::{SsrfClientOptions, validate_uri};
41pub use introspection::{
42 CachingTokenIntrospector, IntrospectionCacheOptions, IntrospectionResult, TokenIntrospector,
43};
44pub use introspection_auth::IntrospectionAuthenticator;
45pub use jwks::{Jwk, JwksProvider, RemoteJwksProvider};
46pub use jwt::{JwtValidator, LocalJwtValidator};
47pub use kernel::{
48 AuthenticatedPrincipal, KERNEL_PRINCIPAL_KEY, enforce_dispatch, install_carrier,
49 kernel_authenticate, read_carrier,
50};
51pub use oauth2::{ClientCredentialsProvider, TokenProvider};
52pub use registry::PermissionEvaluatorRegistry;
53pub use registry::ProviderEntry;
54pub use registry::ProviderRegistry;
55pub use registry::SecurityPolicyRegistry;
56pub use token_authenticator::TokenAuthenticator;
57pub use types::AuthError;
58
59pub use permission::{
60 PermissionContextConfig, PermissionDecision, PermissionEvaluator, PermissionRequest,
61 PermissionValueSource,
62};
63
64pub use permission_cache::{CachingPermissionEvaluator, PermissionCacheOptions};
65
66pub use permission_policy::PermissionPolicy;
67
68pub use native_auth::{NativeCredential, NativeCredentialSecret, StaticTokenAuthenticator};
69
70pub use camel_api::security_policy::{
71 AuthorizationDecision, PRINCIPAL_KEY, Principal, SecurityPolicy, SecurityPolicyConfig,
72};