pa

passkey-go A Go library for streamlined Passkey (WebAuthn) verification

Hacker News

passkey-go A Go library for streamlined Passkey (WebAuthn) verification

Hey Hacker News, I'm thrilled to introduce passkey-go, a new Go library I built to make implementing server-side WebAuthn (Passkey) verification significantly simpler and more robust in your Go applications. While WebAuthn offers powerful, phishing-resistant authentication, its specification can be quite complex to implement correctly on the server side. My goal with passkey-go was to abstract away the low-level parsing and cryptographic details, providing both a high-level, easy-to-use API for common tasks and the flexibility for more advanced, step-by-step verification. Here's what passkey-go offers: Effortless Verification: The VerifyAssertion function provides a single, high-level call to validate authentication responses, handling all cryptographic checks, origin verification, and sign count validation for you. Flexible Registration: For registration, the library offers clear, sequential steps to parse attestation objects, extract authenticator data, and convert COSE keys to *ecdsa.PublicKey for storage. Granular Control: If you need more control, you can use the ParseAssertion, ParseClientDataJSON, VerifyAssertionSignature, and CheckSignCount functions to perform verification step-by-step. Secure by Design: It focuses on handling the core verification logic correctly, ensuring signature validation, challenge matching, and preventing replay attacks through signCount checks. Clear Error Handling: PasskeyError types help you map common WebAuthn-related issues directly to appropriate HTTP statuses, simplifying API error responses. Minimalist Design: passkey-go focuses solely on the WebAuthn verification logic. It doesn't dictate how you store challenges or credentials, giving you full control over your user and data management. ES256 Support: Adheres to WebAuthn recommendations by exclusively supporting ES256 (ECDSA w/ SHA-256) for robust security. Go-Idiomatic: Designed with Go developers in mind, providing clear function signatures and standard error handling. This library handles the complex parts of WebAuthn verification, allowing you to integrate secure Passkey authentication quickly without getting bogged down in the spec's intricacies. You can find the repository and more detailed usage examples here: https://github.com/aethiopicuschan/passkey-go I'm keen to hear your thoughts, feedback, and any suggestions for future improvements. Feel free to open issues or pull requests on GitHub! Thanks for checking it out!

Share card

Actual performance

1points
Did not reach leaderboard

Launch Intel predictions

Analyze your own launch →
Indie HackersFits the IH revenue-focused audience · Missing: supports, reddit linkedin, podcasting
91%91% predicted probability of success on Indie Hackers, based on ML models trained on real launch data.
best fitHighest predicted score across all platforms for this description.
Product HuntOn track for Day 1 leaderboard · Strong signals: user, new, single · Missing: mac, agents, macos
64%64% predicted probability of success on Product Hunt, based on ML models trained on real launch data.
Hacker NewsMay not resonate with HN audience · Strong signals: hacker news, ide, io · Missing: https docs, excited, just released
42%42% predicted probability of success on Hacker News, based on ML models trained on real launch data.
nativeThis product was originally launched on this platform.
AppSumoMay struggle as an AppSumo deal · Strong signals: exclusive · Missing: plus, platform, intuitive
39%39% predicted probability of success on AppSumo, based on ML models trained on real launch data.
TrustMRRLess likely to generate early MRR · Strong signals: way · Missing: mobile apps, ios, personal
38%38% predicted probability of success on TrustMRR, based on ML models trained on real launch data.
Acquire.comPre-revenue stage for this audience · Missing: arr, mrr, revenue
7%7% predicted probability of success on Acquire.com, based on ML models trained on real launch data.
BetaListMay not resonate with beta-testers · Strong signals: crypto, introduce · Missing: web3, chat, cryptocurrency
0%0% predicted probability of success on BetaList, based on ML models trained on real launch data.

Correct prediction on native model

Similar products

Veripazz
Veripazz42%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Biometric OTP, Mobile Verification, Android Library

Indie Hackers1ai
Ceritificate Verification
Ceritificate Verification7%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Ceritificate verification for wordpress

Product Hunt+11
ma
mario.py, a convenience library for i/o35%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

mario.py, a convenience library for i/o

Hacker News2
Li
Livewire: Livescript microrouting library51%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Livewire: Livescript microrouting library

Hacker News2
A
A Dropbox library for Go54%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

A Dropbox library for Go

Hacker News3
Dj
Django passbook library released47%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Django passbook library released

Hacker News1
ID
ID3 library in Go51%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

ID3 library in Go

Hacker News3
vs
vsqlite++ - The C++ SQLite wrapper library59%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

vsqlite++ - The C++ SQLite wrapper library

Hacker News2
Vi
Virtjs, an ES6 emulation library52%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Virtjs, an ES6 emulation library

Hacker News27
Cm
Cmods – a header-only C modules library62%Launch Intel prediction score: how likely this product is to succeed on its source platform, based on its name, tagline, and description.

Cmods – a header-only C modules library

Hacker News9