Files
harmony/harmony_zitadel_auth/Cargo.toml
Sylvain Tremblay 62471e2edf fix: break harmony_secret↔harmony_zitadel_auth dependency cycle
Consolidating the stack exposed a cycle the individual PRs didn't have:
master made harmony_zitadel_auth high-level (config.rs derives
harmony_config::Config → depends on harmony_config), while the JWT-bearer
branch made harmony_secret depend on harmony_zitadel_auth for the token
minter. Result: harmony_secret → harmony_zitadel_auth → harmony_config →
harmony_secret. Cargo refuses to build it.

The minter (jwt_bearer) is a self-contained, harmony-free leaf used by
harmony_secret + harmony-fleet-auth (and re-exported by
harmony_zitadel_auth). Move it into a new leaf crate harmony_zitadel_jwt;
harmony_zitadel_auth re-exports MachineKeyFile/ZitadelJwtBearer from it so
downstream consumers are unchanged.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-06-11 13:50:48 -04:00

34 lines
958 B
TOML

[package]
name = "harmony_zitadel_auth"
edition = "2024"
version.workspace = true
readme.workspace = true
license.workspace = true
[features]
default = []
axum = ["dep:axum", "dep:axum-extra"]
[dependencies]
harmony_config = { path = "../harmony_config" }
harmony_zitadel_jwt = { path = "../harmony_zitadel_jwt" }
anyhow.workspace = true
base64.workspace = true
chrono = { workspace = true, features = ["serde"] }
rand.workspace = true
reqwest.workspace = true
schemars = "0.8"
serde = { workspace = true, features = ["derive"] }
serde_json.workspace = true
sha2 = "0.10"
url.workspace = true
tokio = { workspace = true, features = ["time"] }
arc-swap = "1"
time = "0.3"
tracing = { workspace = true }
jsonwebtoken = "9"
openidconnect = { version = "4", default-features = false, features = ["reqwest", "rustls-tls"] }
axum = { version = "0.8", optional = true }
axum-extra = { version = "0.10", features = ["cookie", "cookie-private"], optional = true }