Welcome to repository of the Passkey Tutorial! This tutorial showcases how to implement passkeys in a simple web app, thus offering a more secure alternative to traditional passwords. By the end of this tutorial, you will have implemented an end-to-end passkey authentication system without relying on third-party passkey authentication providers.
In the tutorial, we use the following tools and technologies, so having some basic knowledge in these areas is helpful:
- Node.js (Express): Utilizes TypeScript for robust backend development with the Express framework.
- Vanilla HTML & JavaScript/TypeScript: Implements a straightforward and effective frontend.
- MySQL: Manages user data and passkey credentials securely.
- SimpleWebAuthn: Handles WebAuthn operations for registration and authentication.
In this passkey tutorial project, we implement the two basic WebAuthn / passkey cereomonies to sign-up / register and log in / authenticate with a passkey.
The passkey sign-up enables users to create new accounts and generate passkeys. Here is the corresponding passkey register flow chart:
The passkey login facilitates a secure login using the created passkeys. Here is the corresponding passkey login flow chart:
Clone the repository to your local machine:
git clone https://github.com/corbado/passkeys-tutorial
Start the project using Docker:
docker compose up -d
This project is licensed under the MIT License.
If you encounter any bugs or have suggestions, please open an issue.
Join our Slack channel to discuss questions or ideas with the Corbado team and other developers.
You can also reach out to us via email at vincent.delitz@corbado.com.