Skip to main content

Crate aauth

Crate aauth 

Source
Expand description

Rust implementation of the AAuth authorization protocol.

§Features

  • client — framework-agnostic auth flow and key material (client::injector, client::keys)
  • client-reqwest — reqwest middleware and token exchange (client::reqwest)
  • server — token verification, resource token creation, policy traits, pending store
  • server-axum — axum middleware and route helpers (server::axum)

§Protocol roles

Re-exports§

pub use client::keys::AgentJwtMinter;
pub use client::keys::KeyMaterialProvider;
pub use client::keys::StaticKeyMaterialProvider;
pub use client::keys::TestAgentJwtMinter;
pub use client::keys::create_key_provider;
pub use client::keys::mint_agent_jwt;
pub use client::resolve::agent_jwt_from_signature_key;
pub use client::resolve::person_server_from_agent_jwt;
pub use client::resolve::resolve_person_server_url;
pub use client::resolve::resource_token_audience_unverified;
pub use error::AAuthError;
pub use error::Result;
pub use error::TokenError;
pub use headers::build_aauth_requirement;
pub use headers::build_capabilities_header;
pub use headers::build_mission_header;
pub use headers::parse_aauth_requirement;
pub use headers::parse_capabilities_header;
pub use headers::parse_mission_header;
pub use interaction_code::canonicalize_code;
pub use interaction_code::generate_code;
pub use jwt::ActClaim;
pub use jwt::AgentClaims;
pub use jwt::AuthClaims;
pub use jwt::CnfClaim;
pub use jwt::OkpJwk;
pub use jwt::OkpSigningJwk;
pub use jwt::ResourceClaims;
pub use jwt::VerifiedToken;
pub use jwt::decode_resource_token_unverified;
pub use jwt::jwk_set_from_okp;
pub use jwt::jwk_thumbprint;
pub use keys::Ed25519KeyPair;
pub use keys::OkpSigningKey;
pub use keys::TestKeys;
pub use keys::create_test_keys;
pub use keys::static_agent_metadata_fetcher;
pub use keys::static_person_metadata_fetcher;
pub use metadata::MetadataFetcher;
pub use metadata::StaticMetadataFetcher;
pub use server::access::AccessAuthJwtMinter;
pub use server::access::AccessServerMetadata;
pub use server::access::TestAccessAuthJwtMinter;
pub use server::access::mint_access_auth_jwt;
pub use server::deferred::build_accepted;
pub use server::deferred::build_payment_required_stub;
pub use server::person::federate_to_access_server;
pub use server::person::fulfill_token_exchange;
pub use server::person::verify_federated_auth_token;
pub use server::person::FederationConfig;
pub use server::person::FederationOutcome;
pub use server::AccessTokenContext;
pub use server::AccessTokenPolicy;
pub use server::AlwaysGrantAccessPolicy;
pub use server::AlwaysGrantPersonPolicy;
pub use server::AlwaysGrantResourcePolicy;
pub use server::AuthGrant;
pub use server::AuthJwtMinter;
pub use server::ClarificationThenGrantAccessPolicy;
pub use server::ClarificationThenGrantPersonPolicy;
pub use server::DeferApprovalAccessPolicy;
pub use server::DeferClaimsAccessPolicy;
pub use server::DeferInteractionAccessPolicy;
pub use server::DeferInteractionPersonPolicy;
pub use server::DeferInteractionResourcePolicy;
pub use server::DeferRequirement;
pub use server::Ed25519ResourceTokenSigner;
pub use server::FederationPendingState;
pub use server::FixedSubPersonPolicy;
pub use server::InMemoryOpaqueAccessStore;
pub use server::InMemoryPendingStore;
pub use server::OpaqueAccessStore;
pub use server::PendingContext;
pub use server::PendingInput;
pub use server::PendingKind;
pub use server::PendingOutcome;
pub use server::PendingRecord;
pub use server::PendingSnapshot;
pub use server::PendingStatus;
pub use server::PendingStore;
pub use server::PersonPendingContext;
pub use server::PersonTokenContext;
pub use server::PersonTokenDecision;
pub use server::PersonTokenPolicy;
pub use server::PolicyError;
pub use server::ResourceAccessContext;
pub use server::ResourceAccessMode;
pub use server::ResourceAccessPolicy;
pub use server::ResourceConsentDecision;
pub use server::ResourceConsentPolicy;
pub use server::ResourceTokenOptions;
pub use server::ResourceTokenSigner;
pub use server::TestAuthJwtMinter;
pub use server::TokenPolicyDecision;
pub use server::VerifyResourceTokenOptions;
pub use server::VerifyTokenOptions;
pub use server::create_resource_token;
pub use server::mint_auth_jwt;
pub use server::resolve_resource_token_audience;
pub use server::verify_resource_token;
pub use server::verify_token;
pub use server::ClaimsSubmission;
pub use server::DEFAULT_PENDING_TTL_SECS;
pub use server::generate_pending_id;
pub use server::pending_location;
pub use types::*;

Modules§

client
error
headers
interaction_code
jwt
keys
metadata
server
signature
types