Skip to main content

Crate openidauthzen

Crate openidauthzen 

Source
Expand description

A Rust SDK for the OpenID AuthZEN Authorization API 1.0.

openidauthzen provides types and clients for building and interacting with AuthZEN-compliant Policy Decision Points (PDPs) and Policy Enforcement Points (PEPs).

§Specifications implemented

SpecCoverage
Authorization API 1.0Access 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.

Re-exports§

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

Modules§

client
AuthZEN client for discovery, access evaluation, and search.
error
Error types for the openidauthzen library.
evaluation
Access evaluation request and response types (AuthZEN §6–[§7]).
http
HTTP abstraction layer for crate::client::AuthZenClient.
model
Core data types for the Authorization API 1.0.
search
Search endpoints for discovering authorized subjects, resources, and actions (AuthZEN §8).