Implementing Passkeys Authentication in Rust with Axum
Introduction Understanding WebAuthn and Passkeys The WebAuthn Flow Registration Flow Authentication Flow Client-Side Implementation Registration Implementation Authentication Implementation Server Implementation in Rust State Management Registration Handler Implementation Authentication Handler Implementation WebAuthn Data Structures and API Formats Data Flow and Transformations Registration Data Structures Standard WebAuthn Interfaces Our Implementation's API Format Authentication Data Structures Standard WebAuthn Interfaces Our Implementation's API Format What's Next Session management OAuth2/OIDC integration Storage Conclusion Resources Introduction As a developer learning web programming and authentication in Rust, I recently undertook the challenge of implementing WebAuthn Passkeys using the Axum web framework. In this post, I'll share my experience building a basic Passkey authentication system from scratch, without rel...