[package]
edition = "2024"
rust-version = "1.98"
name = "cratefield-module-device-auth"
version = "0.3.3"
build = false
include = [
"src/**/*",
"migrations/**/*",
"tests/**/*",
"README.md",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Cratefield module: the OAuth 2.0 device authorization grant (RFC 8628) — a client shows a code, a signed-in person approves it, and the venture's issuer mints the credential"
readme = "README.md"
keywords = [
"cratefield",
"oauth",
"device",
"rfc8628",
"module",
]
categories = ["web-programming"]
license = "MIT"
repository = "https://github.com/Cratefield/harness"
[lib]
name = "cratefield_module_device_auth"
path = "src/lib.rs"
[[test]]
name = "conformance"
path = "tests/conformance.rs"
[[test]]
name = "privacy"
path = "tests/privacy.rs"
[[test]]
name = "race"
path = "tests/race.rs"
[[test]]
name = "routes"
path = "tests/routes.rs"
[[test]]
name = "schema"
path = "tests/schema.rs"
[dependencies.async-trait]
version = "0.1.92"
[dependencies.axum]
version = "0.8.9"
features = [
"json",
"query",
"form",
"matched-path",
"original-uri",
]
default-features = false
[dependencies.base64]
version = "0.23.1"
[dependencies.cratefield-core]
version = "0.10"
[dependencies.hex]
version = "0.4.3"
[dependencies.http]
version = "1.5.0"
[dependencies.schemars]
version = "1.2.2"
features = ["preserve_order"]
[dependencies.sea-query]
version = "0.32.7"
features = [
"backend-sqlite",
"thread-safe",
]
default-features = false
[dependencies.serde]
version = "1.0.229"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.151"
[dependencies.serde_urlencoded]
version = "0.7.1"
[dependencies.sha2]
version = "0.11.0"
[dependencies.thiserror]
version = "2.0.20"
[dependencies.time]
version = "0.3.45"
features = [
"std",
"formatting",
"parsing",
"wasm-bindgen",
]
default-features = false
[dependencies.tracing]
version = "0.1.44"
[dev-dependencies.futures-util]
version = "0.3.34"
features = [
"async-await",
"std",
]
default-features = false
[dev-dependencies.pollster]
version = "0.4"
features = ["macro"]
[dev-dependencies.serde_json]
version = "1.0.151"
[dev-dependencies.tower]
version = "0.5.3"
features = ["util"]
[lints.clippy]
all = "warn"
pedantic = "warn"
[lints.clippy.must_use_candidate]
level = "allow"
priority = 1
[lints.rust]
trivial_numeric_casts = "warn"
unnameable_types = "warn"
unreachable_pub = "warn"
unsafe_code = "forbid"