Add Passkey Authentication backend with FIDO2/WebAuthn#5
Merged
Conversation
Implemented a complete passwordless authentication system using FastAPI and the WebAuthn protocol. This production-ready prototype demonstrates modern security best practices for passkey-based authentication. Features: - Clean separation of Registration and Authentication ceremonies - Pydantic V2 models for User and Credential entities - Cryptographic challenge/response flow with detailed security docs - In-memory database (easily replaceable with PostgreSQL/MongoDB) - Comprehensive inline documentation explaining crypto operations - Minimal HTML/JS frontend using navigator.credentials API - Clone detection via signature counters - User verification enforcement (biometric/PIN) Security Architecture: - Asymmetric cryptography (public/private key pairs) - One-time challenges prevent replay attacks - Origin validation prevents phishing - No passwords or shared secrets transmitted - Signature verification using stored public keys Files added: - main.py: Complete FastAPI backend with WebAuthn endpoints - requirements.txt: Python dependencies - README.md: Comprehensive setup and security documentation - .gitignore: Standard Python/project ignores
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Implemented a complete passwordless authentication system using FastAPI
and the WebAuthn protocol. This production-ready prototype demonstrates
modern security best practices for passkey-based authentication.
Features:
Security Architecture:
Files added: