Cargo.toml (5932B)
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.87.0" 13 version = "0.4.0" 14 15 [lints.rust] 16 ambiguous_negative_literals = { level = "deny", priority = -1 } 17 closure_returning_async_block = { level = "deny", priority = -1 } 18 deref_into_dyn_supertrait = { level = "deny", priority = -1 } 19 ffi_unwind_calls = { level = "deny", priority = -1 } 20 future_incompatible = { level = "deny", priority = -1 } 21 impl_trait_redundant_captures = { level = "deny", priority = -1 } 22 keyword-idents = { level = "deny", priority = -1 } 23 let_underscore = { level = "deny", priority = -1 } 24 linker_messages = { level = "deny", priority = -1 } 25 macro_use_extern_crate = { level = "deny", priority = -1 } 26 meta_variable_misuse = { level = "deny", priority = -1 } 27 missing_copy_implementations = { level = "deny", priority = -1 } 28 missing_debug_implementations = { level = "deny", priority = -1 } 29 missing_docs = { level = "deny", priority = -1 } 30 non_ascii_idents = { level = "deny", priority = -1 } 31 nonstandard_style = { level = "deny", priority = -1 } 32 redundant_imports = { level = "deny", priority = -1 } 33 redundant_lifetimes = { level = "deny", priority = -1 } 34 refining_impl_trait = { level = "deny", priority = -1 } 35 rust_2018_compatibility = { level = "deny", priority = -1 } 36 rust_2018_idioms = { level = "deny", priority = -1 } 37 rust_2021_compatibility = { level = "deny", priority = -1 } 38 rust_2024_compatibility = { level = "deny", priority = -1 } 39 single-use-lifetimes = { level = "deny", priority = -1 } 40 trivial_casts = { level = "deny", priority = -1 } 41 trivial_numeric_casts = { level = "deny", priority = -1 } 42 unit_bindings = { level = "deny", priority = -1 } 43 unknown_lints = { level = "deny", priority = -1 } 44 unnameable_types = { level = "deny", priority = -1 } 45 unreachable_pub = { level = "deny", priority = -1 } 46 unsafe_code = { level = "deny", priority = -1 } 47 unstable_features = { level = "deny", priority = -1 } 48 unused = { level = "deny", priority = -1 } 49 unused_crate_dependencies = { level = "deny", priority = -1 } 50 unused_import_braces = { level = "deny", priority = -1 } 51 unused_lifetimes = { level = "deny", priority = -1 } 52 unused_qualifications = { level = "deny", priority = -1 } 53 unused_results = { level = "deny", priority = -1 } 54 variant_size_differences = { level = "deny", priority = -1 } 55 warnings = { level = "deny", priority = -1 } 56 57 [lints.clippy] 58 all = { level = "deny", priority = -1 } 59 cargo = { level = "deny", priority = -1 } 60 complexity = { level = "deny", priority = -1 } 61 correctness = { level = "deny", priority = -1 } 62 nursery = { level = "deny", priority = -1 } 63 pedantic = { level = "deny", priority = -1 } 64 perf = { level = "deny", priority = -1 } 65 restriction = { level = "deny", priority = -1 } 66 style = { level = "deny", priority = -1 } 67 suspicious = { level = "deny", priority = -1 } 68 # Noisy, opinionated, and likely don't prevent bugs or improve APIs. 69 arbitrary_source_item_ordering = "allow" 70 blanket_clippy_restriction_lints = "allow" 71 exhaustive_enums = "allow" 72 exhaustive_structs = "allow" 73 implicit_return = "allow" 74 min_ident_chars = "allow" 75 missing_trait_methods = "allow" 76 module_name_repetitions = "allow" 77 pub_with_shorthand = "allow" 78 pub_use = "allow" 79 question_mark_used = "allow" 80 ref_patterns = "allow" 81 return_and_then = "allow" 82 self_named_module_files = "allow" 83 single_call_fn = "allow" 84 single_char_lifetime_names = "allow" 85 unseparated_literal_suffix = "allow" 86 87 [package.metadata.docs.rs] 88 all-features = true 89 rustdoc-args = ["--cfg", "docsrs"] 90 91 [dependencies] 92 data-encoding = { version = "2.9.0", default-features = false } 93 ed25519-dalek = { version = "2.1.1", default-features = false } 94 hashbrown = { version = "0.15.4", default-features = false } 95 p256 = { version = "0.13.2", default-features = false, features = ["ecdsa"] } 96 p384 = { version = "0.13.1", default-features = false, features = ["ecdsa"] } 97 precis-profiles = { version = "0.1.12", default-features = false } 98 rand = { version = "0.9.1", default-features = false, features = ["thread_rng"] } 99 rsa = { version = "0.9.8", default-features = false, features = ["sha2"] } 100 serde = { version = "1.0.219", default-features = false, features = ["alloc"], optional = true } 101 serde_json = { version = "1.0.140", default-features = false, features = ["alloc"], optional = true } 102 url = { version = "2.5.4", default-features = false } 103 104 [dev-dependencies] 105 data-encoding = { version = "2.9.0", default-features = false, features = ["alloc"] } 106 ed25519-dalek = { version = "2.1.1", default-features = false, features = ["alloc", "pkcs8"] } 107 p256 = { version = "0.13.2", default-features = false, features = ["pem"] } 108 p384 = { version = "0.13.1", default-features = false, features = ["pkcs8"] } 109 serde_json = { version = "1.0.140", default-features = false, features = ["preserve_order"] } 110 111 112 ### FEATURES ################################################################# 113 114 [features] 115 default = ["bin", "serde"] 116 117 # Provide binary (de)serialization for persistent data. 118 bin = [] 119 120 # Provide constructors for types that ideally are constructed 121 # indirectly via the bin and serde features. 122 custom = [] 123 124 # Provide client (de)serialization based on JSON-motivated 125 # data structures. 126 serde = ["data-encoding/alloc", "dep:serde"] 127 128 # Provide "relaxed" JSON deserialization implementations. 129 serde_relaxed = ["serde", "dep:serde_json"] 130 131 # Provide binary (de)serialization for RegistrationServerState 132 # and AuthenticationServerState to avoid the use of in-memory 133 # collections for ceremony completion. 134 serializable_server_state = ["bin"]