openidauthzen 0.1.0-alpha.1

OpenID AuthZEN Authorization API 1.0 — Policy Decision and Enforcement Points for Rust
Documentation
//! A Rust SDK for the OpenID AuthZEN [Authorization API 1.0][authzen].
//!
//! `openidauthzen` provides types and clients for building and interacting with
//! AuthZEN-compliant Policy Decision Points (PDPs) and Policy Enforcement
//! Points (PEPs).
//!
//! # Specifications implemented
//!
//! | Spec | Coverage |
//! |------|----------|
//! | [Authorization API 1.0][authzen] | Access evaluation, batch evaluation, subject/resource/action search, PDP discovery |
//!
//! # Modules
//!
//! - [`model`] — Core data types: [`Subject`], [`Resource`], [`Action`], [`Context`], [`Decision`]
//! - [`evaluation`] — Single and batch access evaluation request/response types
//! - [`search`] — Subject, resource, and action search request/response types
//! - [`client`] — AuthZEN client for discovery, evaluation, and search
//! - [`http`] — HTTP abstraction layer with optional reqwest backend
//! - [`error`] — Error types
//!
//! > **Under active development.** The public API will change before 1.0.
//!
//! [authzen]: https://openid.net/specs/authorization-api-1_0.html

mod cache;
pub mod client;
pub mod error;
pub mod evaluation;
pub mod http;
pub mod model;
pub mod search;

pub use client::{AuthZenClient, PdpConfiguration};
pub use error::Error;
pub use evaluation::{
    EvaluationItem, EvaluationRequest, EvaluationResponse, EvaluationSemantic,
    EvaluationsOptions, EvaluationsRequest, EvaluationsResponse,
};
pub use model::{Action, Context, Decision, Resource, Subject};
pub use search::{
    ActionSearchRequest, ActionSearchResponse, Page, PageResponse, ResourceSearchRequest,
    ResourceSearchResponse, SubjectSearchRequest, SubjectSearchResponse,
};