[package] name = "atproto-oauth" version = "0.13.0" description = "OAuth workflow implementation for AT Protocol - PKCE, DPoP, and secure authentication flows" readme = "README.md" homepage = "https://tangled.sh/@smokesignal.events/atproto-identity-rs" documentation = "https://docs.rs/atproto-oauth" edition.workspace = true rust-version.workspace = true repository.workspace = true authors.workspace = true license.workspace = true keywords.workspace = true categories.workspace = true [[bin]] name = "atproto-oauth-service-token" test = false bench = false doc = true required-features = ["clap"] [dependencies] atproto-identity.workspace = true anyhow.workspace = true async-trait.workspace = true base64.workspace = true chrono.workspace = true ecdsa.workspace = true elliptic-curve.workspace = true k256.workspace = true lru = { workspace = true, optional = true } multibase.workspace = true p256 = { workspace = true, features = ["jwk", "serde"] } p384 = { workspace = true, features = ["jwk", "serde"] } rand.workspace = true reqwest-chain.workspace = true reqwest-middleware.workspace = true reqwest.workspace = true serde_ipld_dagcbor.workspace = true serde_json.workspace = true serde.workspace = true sha2.workspace = true thiserror.workspace = true tokio.workspace = true tracing.workspace = true ulid.workspace = true clap = { workspace = true, optional = true } zeroize = { workspace = true, optional = true } [features] default = ["lru", "hickory-dns"] lru = ["dep:lru"] clap = ["dep:clap"] zeroize = ["dep:zeroize", "atproto-identity/zeroize"] hickory-dns = ["atproto-identity/hickory-dns"] [lints] workspace = true