Cargo.toml (6837B)
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.89.0" 13 version = "0.4.0+spec-3" 14 15 [lints.rust] 16 ambiguous_negative_literals = { level = "deny", priority = -1 } 17 closure_returning_async_block = { level = "deny", priority = -1 } 18 deprecated_safe = { level = "deny", priority = -1 } 19 deref_into_dyn_supertrait = { level = "deny", priority = -1 } 20 ffi_unwind_calls = { level = "deny", priority = -1 } 21 future_incompatible = { level = "deny", priority = -1 } 22 #fuzzy_provenance_casts = { level = "deny", priority = -1 } 23 impl_trait_redundant_captures = { level = "deny", priority = -1 } 24 keyword_idents = { level = "deny", priority = -1 } 25 let_underscore = { level = "deny", priority = -1 } 26 linker_messages = { level = "deny", priority = -1 } 27 #lossy_provenance_casts = { level = "deny", priority = -1 } 28 macro_use_extern_crate = { level = "deny", priority = -1 } 29 meta_variable_misuse = { level = "deny", priority = -1 } 30 missing_copy_implementations = { level = "deny", priority = -1 } 31 missing_debug_implementations = { level = "deny", priority = -1 } 32 missing_docs = { level = "deny", priority = -1 } 33 #multiple_supertrait_upcastable = { level = "deny", priority = -1 } 34 #must_not_suspend = { level = "deny", priority = -1 } 35 non_ascii_idents = { level = "deny", priority = -1 } 36 #non_exhaustive_omitted_patterns = { level = "deny", priority = -1 } 37 nonstandard_style = { level = "deny", priority = -1 } 38 redundant_imports = { level = "deny", priority = -1 } 39 redundant_lifetimes = { level = "deny", priority = -1 } 40 refining_impl_trait = { level = "deny", priority = -1 } 41 rust_2018_compatibility = { level = "deny", priority = -1 } 42 rust_2018_idioms = { level = "deny", priority = -1 } 43 rust_2021_compatibility = { level = "deny", priority = -1 } 44 rust_2024_compatibility = { level = "deny", priority = -1 } 45 single_use_lifetimes = { level = "deny", priority = -1 } 46 #supertrait_item_shadowing_definition = { level = "deny", priority = -1 } 47 #supertrait_item_shadowing_usage = { level = "deny", priority = -1 } 48 trivial_casts = { level = "deny", priority = -1 } 49 trivial_numeric_casts = { level = "deny", priority = -1 } 50 unit_bindings = { level = "deny", priority = -1 } 51 unknown_or_malformed_diagnostic_attributes = { level = "deny", priority = -1 } 52 unnameable_types = { level = "deny", priority = -1 } 53 #unqualified_local_imports = { level = "deny", priority = -1 } 54 unreachable_pub = { level = "deny", priority = -1 } 55 unsafe_code = { level = "deny", priority = -1 } 56 unstable_features = { level = "deny", priority = -1 } 57 unused = { level = "deny", priority = -1 } 58 unused_crate_dependencies = { level = "deny", priority = -1 } 59 unused_import_braces = { level = "deny", priority = -1 } 60 unused_lifetimes = { level = "deny", priority = -1 } 61 unused_qualifications = { level = "deny", priority = -1 } 62 unused_results = { level = "deny", priority = -1 } 63 variant_size_differences = { level = "deny", priority = -1 } 64 warnings = { level = "deny", priority = -1 } 65 66 [lints.clippy] 67 cargo = { level = "deny", priority = -1 } 68 complexity = { level = "deny", priority = -1 } 69 correctness = { level = "deny", priority = -1 } 70 nursery = { level = "deny", priority = -1 } 71 pedantic = { level = "deny", priority = -1 } 72 perf = { level = "deny", priority = -1 } 73 restriction = { level = "deny", priority = -1 } 74 style = { level = "deny", priority = -1 } 75 suspicious = { level = "deny", priority = -1 } 76 # Noisy, opinionated, and likely don't prevent bugs or improve APIs. 77 arbitrary_source_item_ordering = "allow" 78 blanket_clippy_restriction_lints = "allow" 79 exhaustive_enums = "allow" 80 exhaustive_structs = "allow" 81 implicit_return = "allow" 82 min_ident_chars = "allow" 83 missing_trait_methods = "allow" 84 module_name_repetitions = "allow" 85 pub_use = "allow" 86 pub_with_shorthand = "allow" 87 question_mark_used = "allow" 88 redundant_pub_crate = "allow" 89 ref_patterns = "allow" 90 return_and_then = "allow" 91 self_named_module_files = "allow" 92 single_call_fn = "allow" 93 single_char_lifetime_names = "allow" 94 unseparated_literal_suffix = "allow" 95 96 [package.metadata.docs.rs] 97 all-features = true 98 default-target = "x86_64-unknown-linux-gnu" 99 targets = [ 100 "aarch64-apple-darwin", 101 "aarch64-pc-windows-msvc", 102 "aarch64-unknown-linux-gnu", 103 "i686-pc-windows-msvc", 104 "i686-unknown-linux-gnu", 105 "x86_64-pc-windows-gnu", 106 "x86_64-pc-windows-msvc", 107 "x86_64-unknown-freebsd", 108 "x86_64-unknown-linux-musl", 109 "x86_64-unknown-netbsd" 110 ] 111 112 [dependencies] 113 base64url_nopad = { version = "0.1.2", default-features = false } 114 ed25519-dalek = { version = "2.2.0", default-features = false } 115 hashbrown = { version = "0.16.1", default-features = false } 116 p256 = { version = "0.13.2", default-features = false, features = ["ecdsa"] } 117 p384 = { version = "0.13.1", default-features = false, features = ["ecdsa"] } 118 precis-profiles = { version = "0.1.13", default-features = false } 119 rand = { version = "0.9.2", default-features = false, features = ["thread_rng"] } 120 rsa = { version = "0.9.10", default-features = false, features = ["sha2"] } 121 serde = { version = "1.0.228", default-features = false, features = ["alloc"], optional = true } 122 serde_json = { version = "1.0.149", default-features = false, features = ["alloc"], optional = true } 123 url = { version = "2.5.8", default-features = false } 124 125 [dev-dependencies] 126 base64url_nopad = { version = "0.1.2", default-features = false, features = ["alloc"] } 127 ed25519-dalek = { version = "2.2.0", default-features = false, features = ["alloc", "pkcs8"] } 128 p256 = { version = "0.13.2", default-features = false, features = ["pem"] } 129 p384 = { version = "0.13.1", default-features = false, features = ["pkcs8"] } 130 serde_json = { version = "1.0.149", default-features = false, features = ["preserve_order"] } 131 132 133 ### FEATURES ################################################################# 134 135 [features] 136 default = ["bin", "serde"] 137 138 # Provide binary (de)serialization for persistent data. 139 bin = [] 140 141 # Provide constructors for types that ideally are constructed 142 # indirectly via the bin and serde features. 143 custom = [] 144 145 # Provide client (de)serialization based on JSON-motivated 146 # data structures. 147 serde = ["base64url_nopad/alloc", "dep:serde"] 148 149 # Provide "relaxed" JSON deserialization implementations. 150 serde_relaxed = ["serde", "dep:serde_json"] 151 152 # Provide binary (de)serialization for RegistrationServerState 153 # and AuthenticationServerState to avoid the use of in-memory 154 # collections for ceremony completion. 155 serializable_server_state = ["bin"]