{"repo":"descope/virtualwebauthn","free":true,"listed":false,"github":"https://github.com/descope/virtualwebauthn","clone":"git clone https://github.com/descope/virtualwebauthn.git","description":"A set of helper tools for testing WebAuthn authentication flows","language":"Go","stars":125,"topics":["test-automation","testing-tools","webauthn","fido","golang","authentication","automation","biometric","descope","fido2"],"license":"MIT","category":"auth-billing-email","readme_excerpt":"Virtual WebAuthn The Go package virtualwebauthn provides a set of helper tools for testing full WebAuthn authentication flows in a relying party WebAuthn server implementation without requiring a browser or an actual authenticator. Check the test for a working example on how to use this library. Features - Test both register/attestation and login/assertion flows - Validate credential creation and request options - Generate attestation and assertion responses - Supports EC2 and RSA keys with SHA256 - Supports packed attestation format - Supports WebAuthn Level 3 compatible responses with clientExtensionResults and transports Usage Setup First we create mock entities to work with for running tests. Register Start a register flow with the relying party and get an attestationOptions JSON string that contains the serialized credential creation options: Use the ParseAttestationOptions and CreateAttestationResponse functions to parse the attestationOptions string, ensure that it's valid, and generate an appropriate attestationResponse that should appear to have come from a browser's navigator.credentials.create call: We can now go back to the relying party with the attestationResponse and finish the register flow:","default_branch":null,"files":null,"tree":[],"storefront":"/r/descope","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/descope/virtualwebauthn/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}