[package] name = "freighter-auth" version = "1.0.0" authors.workspace = true categories.workspace = true description.workspace = true edition.workspace = true keywords.workspace = true license.workspace = true publish.workspace = true repository.workspace = true [package.metadata.docs.rs] all-features = true # enable unstable features in the documentation rustdoc-args = ["--cfg", "docsrs"] [features] default = ["pg-backend"] yes-backend = [] pg-backend = ["dep:deadpool-postgres", "dep:tokio"] fs-backend = ["dep:base64", "dep:serde_json", "dep:parking_lot", "dep:tempfile", "dep:hmac"] cf-backend = ["dep:jsonwebtoken", "dep:reqwest", "dep:serde_json", "dep:tokio", "dep:cookie"] [dependencies] freighter-api-types = { workspace = true, features = ["ownership"] } anyhow = { workspace = true } async-trait = { workspace = true } axum = { workspace = true } cookie = { version = "0.18.1", optional = true } deadpool-postgres = { workspace = true, optional = true } http = "0.2.11" jsonwebtoken = { version = "9.3.0", optional = true } rand = { workspace = true } reqwest = { workspace = true, optional = true, default-features = false, features = ["json", "default-tls"] } serde = { workspace = true } serde_json = { workspace = true, optional = true } thiserror = { workspace = true } tokio = { workspace = true, optional = true } tracing = { workspace = true } sha2 = { workspace = true } hmac = { workspace = true, optional = true } tempfile = { workspace = true, optional = true } base64 = { workspace = true, optional = true } parking_lot = { version = "0.12.1", optional = true } [dev-dependencies] tokio = { workspace = true, features = ["macros", "rt"] } [lints] workspace = true