A library for ATProtocol identities.
1[package]
2name = "atproto-oauth"
3version = "0.13.0"
4description = "OAuth workflow implementation for AT Protocol - PKCE, DPoP, and secure authentication flows"
5readme = "README.md"
6homepage = "https://tangled.sh/@smokesignal.events/atproto-identity-rs"
7documentation = "https://docs.rs/atproto-oauth"
8
9edition.workspace = true
10rust-version.workspace = true
11repository.workspace = true
12authors.workspace = true
13license.workspace = true
14keywords.workspace = true
15categories.workspace = true
16
17[[bin]]
18name = "atproto-oauth-service-token"
19test = false
20bench = false
21doc = true
22required-features = ["clap"]
23
24[dependencies]
25atproto-identity.workspace = true
26
27anyhow.workspace = true
28async-trait.workspace = true
29base64.workspace = true
30chrono.workspace = true
31ecdsa.workspace = true
32elliptic-curve.workspace = true
33k256.workspace = true
34lru = { workspace = true, optional = true }
35multibase.workspace = true
36p256 = { workspace = true, features = ["jwk", "serde"] }
37p384 = { workspace = true, features = ["jwk", "serde"] }
38rand.workspace = true
39reqwest-chain.workspace = true
40reqwest-middleware.workspace = true
41reqwest.workspace = true
42serde_ipld_dagcbor.workspace = true
43serde_json.workspace = true
44serde.workspace = true
45sha2.workspace = true
46thiserror.workspace = true
47tokio.workspace = true
48tracing.workspace = true
49ulid.workspace = true
50
51clap = { workspace = true, optional = true }
52zeroize = { workspace = true, optional = true }
53
54[features]
55default = ["lru", "hickory-dns"]
56lru = ["dep:lru"]
57clap = ["dep:clap"]
58zeroize = ["dep:zeroize", "atproto-identity/zeroize"]
59hickory-dns = ["atproto-identity/hickory-dns"]
60
61[lints]
62workspace = true