Cargo.toml (7169B)
1 [package] 2 authors = ["Zack Newman <zack@philomathiclife.com>"] 3 categories = ["api-bindings", "authentication", "web-programming"] 4 description = "Server-side Web Authentication (WebAuthn) Relying Party (RP) API." 5 documentation = "https://docs.rs/webauthn_rp/latest/webauthn_rp/" 6 edition = "2024" 7 keywords = ["authentication", "fido2", "passkey", "rp", "webauthn"] 8 license = "MIT OR Apache-2.0" 9 name = "webauthn_rp" 10 readme = "README.md" 11 repository = "https://git.philomathiclife.com/repos/webauthn_rp/" 12 rust-version = "1.94.0" 13 version = "0.4.0+spec-3" 14 15 [lints.rust] 16 deprecated-safe = { level = "deny", priority = -1 } 17 future-incompatible = { level = "deny", priority = -1 } 18 keyword-idents = { level = "deny", priority = -1 } 19 let-underscore = { level = "deny", priority = -1 } 20 nonstandard-style = { level = "deny", priority = -1 } 21 refining-impl-trait = { level = "deny", priority = -1 } 22 rust-2018-compatibility = { level = "deny", priority = -1 } 23 rust-2018-idioms = { level = "deny", priority = -1 } 24 rust-2021-compatibility = { level = "deny", priority = -1 } 25 rust-2024-compatibility = { level = "deny", priority = -1 } 26 unknown-or-malformed-diagnostic-attributes = { level = "deny", priority = -1 } 27 unused = { level = "deny", priority = -1 } 28 warnings = { level = "deny", priority = -1 } 29 ambiguous-negative-literals = { level = "deny", priority = -1 } 30 closure-returning-async-block = { level = "deny", priority = -1 } 31 deprecated-in-future = { level = "deny", priority = -1 } 32 deref-into-dyn-supertrait = { level = "deny", priority = -1 } 33 ffi-unwind-calls = { level = "deny", priority = -1 } 34 #fuzzy-provenance-casts = { level = "deny", priority = -1 } 35 impl-trait-redundant-captures = { level = "deny", priority = -1 } 36 linker-messages = { level = "deny", priority = -1 } 37 #lossy-provenance-casts = { level = "deny", priority = -1 } 38 macro-use-extern-crate = { level = "deny", priority = -1 } 39 meta-variable-misuse = { level = "deny", priority = -1 } 40 missing-copy-implementations = { level = "deny", priority = -1 } 41 missing-debug-implementations = { level = "deny", priority = -1 } 42 missing-docs = { level = "deny", priority = -1 } 43 #multiple-supertrait-upcastable = { level = "deny", priority = -1 } 44 #must-not-suspend = { level = "deny", priority = -1 } 45 non-ascii-idents = { level = "deny", priority = -1 } 46 #non-exhaustive-omitted-patterns = { level = "deny", priority = -1 } 47 redundant-imports = { level = "deny", priority = -1 } 48 redundant-lifetimes = { level = "deny", priority = -1 } 49 #resolving-to-items-shadowing-supertrait-items = { level = "deny", priority = -1 } 50 #shadowing-supertrait-items = { level = "deny", priority = -1 } 51 single-use-lifetimes = { level = "deny", priority = -1 } 52 trivial-casts = { level = "deny", priority = -1 } 53 trivial-numeric-casts = { level = "deny", priority = -1 } 54 unit-bindings = { level = "deny", priority = -1 } 55 unnameable-types = { level = "deny", priority = -1 } 56 #unqualified-local-imports = { level = "deny", priority = -1 } 57 unreachable-pub = { level = "deny", priority = -1 } 58 unsafe-code = { level = "deny", priority = -1 } 59 unstable-features = { level = "deny", priority = -1 } 60 unused-crate-dependencies = { level = "deny", priority = -1 } 61 unused-import-braces = { level = "deny", priority = -1 } 62 unused-lifetimes = { level = "deny", priority = -1 } 63 unused-qualifications = { level = "deny", priority = -1 } 64 unused-results = { level = "deny", priority = -1 } 65 variant-size-differences = { level = "deny", priority = -1 } 66 67 [lints.clippy] 68 cargo = { level = "deny", priority = -1 } 69 complexity = { level = "deny", priority = -1 } 70 correctness = { level = "deny", priority = -1 } 71 nursery = { level = "deny", priority = -1 } 72 pedantic = { level = "deny", priority = -1 } 73 perf = { level = "deny", priority = -1 } 74 restriction = { level = "deny", priority = -1 } 75 style = { level = "deny", priority = -1 } 76 suspicious = { level = "deny", priority = -1 } 77 # Noisy, opinionated, and likely don't prevent bugs or improve APIs. 78 arbitrary_source_item_ordering = "allow" 79 blanket_clippy_restriction_lints = "allow" 80 decimal_bitwise_operands = "allow" 81 exhaustive_enums = "allow" 82 exhaustive_structs = "allow" 83 implicit_return = "allow" 84 min_ident_chars = "allow" 85 missing_trait_methods = "allow" 86 module_name_repetitions = "allow" 87 pub_use = "allow" 88 pub_with_shorthand = "allow" 89 question_mark_used = "allow" 90 redundant_pub_crate = "allow" 91 ref_patterns = "allow" 92 return_and_then = "allow" 93 self_named_module_files = "allow" 94 single_call_fn = "allow" 95 single_char_lifetime_names = "allow" 96 unseparated_literal_suffix = "allow" 97 98 [lints.rustdoc] 99 all = { level = "deny", priority = -1 } 100 101 [package.metadata.docs.rs] 102 all-features = true 103 default-target = "x86_64-unknown-linux-gnu" 104 targets = [ 105 "aarch64-apple-darwin", 106 "aarch64-pc-windows-msvc", 107 "aarch64-unknown-linux-gnu", 108 "i686-pc-windows-msvc", 109 "i686-unknown-linux-gnu", 110 "x86_64-pc-windows-gnu", 111 "x86_64-pc-windows-msvc", 112 "x86_64-unknown-freebsd", 113 "x86_64-unknown-linux-musl", 114 "x86_64-unknown-netbsd" 115 ] 116 117 [dependencies] 118 base64url_nopad = { version = "0.1.4", default-features = false } 119 ed25519-dalek = { version = "3.0.0-pre.6", default-features = false } 120 hashbrown = { version = "0.16.1", default-features = false } 121 ml-dsa = { version = "0.1.0-rc.8", default-features = false } 122 p256 = { version = "0.14.0-rc.8", default-features = false, features = ["ecdsa"] } 123 p384 = { version = "0.14.0-rc.8", default-features = false, features = ["ecdsa"] } 124 rand = { version = "0.10.0", default-features = false, features = ["thread_rng"] } 125 rsa = { version = "0.10.0-rc.17", default-features = false, features = ["encoding", "sha2"] } 126 serde = { version = "1.0.228", default-features = false, features = ["alloc"], optional = true } 127 serde_json = { version = "1.0.149", default-features = false, features = ["alloc"], optional = true } 128 url = { version = "2.5.8", default-features = false } 129 130 [dev-dependencies] 131 base64url_nopad = { version = "0.1.4", default-features = false, features = ["alloc"] } 132 ed25519-dalek = { version = "3.0.0-pre.6", default-features = false, features = ["alloc", "pkcs8"] } 133 ml-dsa = { version = "0.1.0-rc.8", default-features = false, features = ["alloc", "pkcs8"] } 134 p256 = { version = "0.14.0-rc.8", default-features = false, features = ["pem"] } 135 p384 = { version = "0.14.0-rc.8", default-features = false, features = ["pkcs8"] } 136 serde_json = { version = "1.0.149", default-features = false, features = ["preserve_order"] } 137 138 139 ### FEATURES ################################################################# 140 141 [features] 142 default = ["serializable_server_state", "serde_relaxed", "custom"] 143 144 # Provide binary (de)serialization for persistent data. 145 bin = [] 146 147 # Provide constructors for types that ideally are constructed 148 # indirectly via the bin and serde features. 149 custom = [] 150 151 # Provide client (de)serialization based on JSON-motivated 152 # data structures. 153 serde = ["base64url_nopad/alloc", "dep:serde"] 154 155 # Provide "relaxed" JSON deserialization implementations. 156 serde_relaxed = ["serde", "dep:serde_json"] 157 158 # Provide binary (de)serialization for RegistrationServerState 159 # and AuthenticationServerState to avoid the use of in-memory 160 # collections for ceremony completion. 161 serializable_server_state = ["bin"]