authn_resolver_sdk/lib.rs
1//! `AuthN` Resolver SDK
2//!
3//! This crate provides the public API for the `authn_resolver` module:
4//!
5//! - [`AuthNResolverClient`] - Public API trait for consumers
6//! - [`AuthNResolverPluginClient`] - Plugin API trait for implementations
7//! - [`AuthenticationResult`] - Authentication result model
8//! - [`AuthNResolverError`] - Error types
9//! - [`AuthNResolverPluginSpecV1`] - GTS schema for plugin discovery
10//!
11//! ## Usage
12//!
13//! Consumers obtain the client from `ClientHub`:
14//!
15//! ```ignore
16//! use authn_resolver_sdk::AuthNResolverClient;
17//!
18//! // Get the client from ClientHub
19//! let authn = hub.get::<dyn AuthNResolverClient>()?;
20//!
21//! // Authenticate a bearer token
22//! let result = authn.authenticate("Bearer xyz...").await?;
23//! let security_context = result.security_context;
24//! ```
25
26pub mod api;
27pub mod error;
28pub mod gts;
29pub mod models;
30pub mod plugin_api;
31
32// Re-export main types at crate root
33pub use api::AuthNResolverClient;
34pub use error::AuthNResolverError;
35pub use gts::AuthNResolverPluginSpecV1;
36pub use models::AuthenticationResult;
37pub use plugin_api::AuthNResolverPluginClient;