{"id":13546040,"url":"https://github.com/kanidm/webauthn-rs","last_synced_at":"2025-10-23T19:15:18.974Z","repository":{"id":37400891,"uuid":"180746955","full_name":"kanidm/webauthn-rs","owner":"kanidm","description":"An implementation of webauthn components for Rustlang servers","archived":false,"fork":false,"pushed_at":"2025-04-23T11:41:45.000Z","size":8151,"stargazers_count":553,"open_issues_count":23,"forks_count":93,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-04-28T12:12:15.356Z","etag":null,"topics":["security","webauthn"],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kanidm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":"CODEOWNERS","security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2019-04-11T08:19:38.000Z","updated_at":"2025-04-26T20:04:23.000Z","dependencies_parsed_at":"2023-10-12T07:44:23.614Z","dependency_job_id":"18f98685-534a-49e6-b889-daad8f323434","html_url":"https://github.com/kanidm/webauthn-rs","commit_stats":{"total_commits":285,"total_committers":22,"mean_commits":"12.954545454545455","dds":"0.35789473684210527","last_synced_commit":"5fc0ebe9a52a3b7b5f25784cc5c89c8b5412a715"},"previous_names":[],"tags_count":19,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kanidm%2Fwebauthn-rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kanidm%2Fwebauthn-rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kanidm%2Fwebauthn-rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kanidm%2Fwebauthn-rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kanidm","download_url":"https://codeload.github.com/kanidm/webauthn-rs/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":251311332,"owners_count":21569009,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["security","webauthn"],"created_at":"2024-08-01T12:00:30.446Z","updated_at":"2025-10-23T19:15:13.922Z","avatar_url":"https://github.com/kanidm.png","language":"Rust","funding_links":[],"categories":["Web and Cloud Security","Rust","Library","Server Libraries"],"sub_categories":["Authorization \u0026 Authentication Frameworks"],"readme":"Webauthn-rs\n==========\n\nWebauthn is a modern approach to hardware based authentication, consisting of\na user with an authenticator device, a browser or client that interacts with the\ndevice, and a server that is able to generate challenges and verify the\nauthenticator's validity.\n\nUsers are able to enroll their own tokens through a registration process to\nbe associated to their accounts, and then are able to login using the token\nwhich performas a cryptographic authentication.\n\nThis library aims to provide useful functions and frameworks allowing you to\nintegrate webauthn into Rust web servers. This means the library implements the\nRelying Party component of the Webauthn/FIDO2 workflow. We provide template and\nexample javascript and wasm bindings to demonstrate the browser interactions required.\n\nCode of Conduct\n---------------\n\nSee our [code of conduct]\n\n[code of conduct]: https://github.com/kanidm/webauthn-rs/blob/master/CODE_OF_CONDUCT.md\n\nBlockchain Support Policy\n-------------------------\n\nThis project does not and will not support any blockchain related use cases. We will not accept issues\nfrom organisations (or employees thereof) whose primary business is blockchain, cryptocurrency, NFTs\nor so-called “Web 3.0 technology”. This statement does not affect the rights and responsibilities\ngranted under the project’s open source license(s).\n\nIf you have further questions about the scope of this statement and whether it impacts you, please\nemail webauthn at firstyear.id.au\n\nDocumentation\n-------------\n\nThis library consists of multiple major parts.\n\nA safe, use-case driven api, which is defined in [Webauthn-RS](https://docs.rs/webauthn-rs/)\n\nThe low level, protocol level interactions which is defined in [Webauthn-Core-RS](https://docs.rs/webauthn-rs-core/)\n\nProtocol bindings which are defined in [Webauthn-RS-proto](https://docs.rs/webauthn-rs-proto/)\n\nThe FIDO MDS (authenticator transparency) parser [FIDO-MDS](https://docs.rs/fido-mds/)\n\nWe strongly recommend you use the safe api, as webauthn has many sharp edges and ways to hold it wrong!\n\nDemonstration\n-------------\n\nYou can test this library via our [demonstration site](https://webauthn.firstyear.id.au/)\n\nOr you can run the demonstration your self locally with:\n\n    cd compat_tester/webauthn-rs-demo\n    cargo run\n\nFor additional configuration options for the demo site:\n\n    cargo run -- --help\n\nKnown Supported Keys/Harwdare\n-----------------------------\n\nWe have extensively tested a variety of keys and devices, not limited to:\n\n* Yubico 5c / 5ci / FIPS / Bio\n* TouchID / FaceID (iPhone, iPad, MacBook Pro)\n* Android\n* Windows Hello (TPM)\n* Softtokens\n\nIf your key/browser combination don't work (generally due to missing crypto routines)\nplease conduct a [compatability test](https://webauthn.firstyear.id.au/compat_test) and then open\nan issue so that we can resolve the issue!\n\nKnown BROKEN Keys/Hardware\n--------------------------\n\n* Pixel 3a / Pixel 4 + Chrome - Does not send correct attestation certificates,\n  and ignores requested algorithms. Not resolved.\n* Windows Hello with Older TPMs - Often use RSA-SHA1 signatures over attestation which may allow credential compromise/falsification.\n\nStandards Compliance\n--------------------\n\nThis library has been carefully implemented to follow the w3c standard for webauthn level 3+ processing\nto ensure secure and correct behaviour. We support most major extensions and key types, but we do not claim\nto be standards complaint because:\n\n* We have enforced extra constraints in the library that go above and beyond the security guarantees the standard offers.\n* We do not support certain esoteric options.\n* We do not support all cryptographic primitive types (only limited to secure ones).\n* A large number of advertised features in webauthn do not function in the real world.\n\nThis library has passed a security audit performed by SUSE product security. Other security reviews\nare welcome!\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkanidm%2Fwebauthn-rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkanidm%2Fwebauthn-rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkanidm%2Fwebauthn-rs/lists"}