webauthn_rp

WebAuthn Level 3 RP library.
git clone https://git.philomathiclife.com/repos/webauthn_rp
Log | Files | Refs | README

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"]