plakous-auth 0.0.2

Provider-neutral secure authentication foundations for Plakous
//! Shared pure OAuth workflow helpers for subscription dialects and for
//! clients of OAuth-protected resources (MCP authorization).
//!
//! Credential-free math and string construction only: form encoding, authorize
//! URL building, device poll schedules, callback query parsing, access-token
//! timing, and HTTP/1.1 request/response framing. Shared async loopback accept
//! and JWKS cache ladders live in [`crate::oauth_orchestrator`]. Native auth
//! managers retain dialect HTTP, key crypto, catalog, and durable store
//! ownership.
//!
//! Pin tables live in [`crate::oauth_pins`]. Managers consume both as thin
//! table-driven dialects of one workflow.

mod authorize;
mod callback;
mod device_poll;
mod error;
mod form;
mod http11_get;
mod http11_response;
mod resource;

pub use authorize::{AuthorizeUrlRequest, build_authorization_url};
pub use callback::{
    CallbackQueryPolicy, OAuthCallbackOutcome, loopback_redirect_authority,
    parse_absolute_redirect_query, parse_loopback_callback_target, parse_oauth_callback_query,
    parse_remote_authorization_input,
};
pub use device_poll::DevicePollSchedule;
pub use error::OAuthWorkflowError;
pub use form::{
    access_needs_refresh, authorization_code_token_form, capped_deadline, decode_json_bounded,
    refresh_token_form, remaining_until, unsigned_access_token_exp, unverified_jwt_timing,
    urlencoded_form, urlencoded_form_bytes,
};
pub use http11_get::{Http11GetRequest, is_http_token_byte, parse_http11_get_request};
pub use http11_response::{
    LoopbackCallbackOutcome, LoopbackCallbackPage, format_http11_text_response,
};
pub use resource::{
    AuthorizationServerMetadata, BearerChallenge, DeviceAuthorization, DynamicRegistration,
    MAX_RESOURCE_OAUTH_RESPONSE_BYTES, ProtectedResourceMetadata, ResourceAuthorizeRequest,
    ResourceTokenResponse, authorization_server_metadata_urls, build_resource_authorization_url,
    canonical_resource_uri, check_callback_issuer, device_authorization_form, device_token_form,
    dynamic_registration_request, oauth_error_code, parse_authorization_server_metadata,
    parse_bearer_challenge, parse_device_authorization, parse_dynamic_registration,
    parse_protected_resource_metadata, parse_resource_token_response,
    protected_resource_metadata_urls, resource_refresh_form, resource_token_form, revocation_form,
    take_issuer_parameter, union_scopes, valid_scope_list,
};