Before you begin, ensure you have the following:
- Node.js installed (version >= 20.0.0 or later)
- Hanko Passkey API key and tenant ID from Hanko Cloud
Note: You'll need to create a Passkey Project on Hanko Cloud with the App URL
http://localhost:5173
. See our docs to learn how to setup a passkey project.
- Clone the repository
git clone <repo>
- Set up environment variables
Create a .env
file in the express-backend
directory and add the following environment variables:
PASSKEYS_API_SECRET_KEY=your-hanko-passkey-api-key
PASSKEYS_TENANT_ID=your-hanko-passkey-tenant-id
Replace your-hanko-passkey-api-key
and your-hanko-passkey-tenant-id
with your actual Hanko Passkey API key and tenant ID.
- Navigate to the frontend directory:
cd react-frontend
- Install the dependencies using your preferred package manager (e.g.,
npm
,pnpm
,yarn
, orbun
). For this project, we've usednpm
:
npm install
- Start the frontend development server:
npm run dev
- Navigate to the backend directory:
cd express-backend
- Install the backend dependencies:
npm install
- Start the backend server:
npm run dev
-
Start the application:
-
Ensure that both the frontend and backend servers are running.
-
Access the application by navigating to
http://localhost:5173
in your web browser.
-
-
Log in with a pre-configured user: Navigate to login page, login with one of the pre-configured users.
{
id: "b3fbbdbd-6bb5-4558-9055-3b54a9469629",
email: "nguyentientai9@gmail.com",
fullname: "Nguyen Tien Tai",
username: "fdhhhdjd",
password: "sieunhangao",
},
{
id: "22c81b3d-1e7d-4a72-a6b0-ad946e0c0965",
email: "ronadol@example.com",
fullname: "Cristiano Ronaldo",
username: "cr7",
password: "very_secure_password",
},
{
id: "55c81b3d-1e7d-4a72-a6b0-ad946e0c0965",
email: "messi@g.com",
fullname: "Lionel Messi",
username: "lm10",
password: "123",
},
-
Register a passkey:
- After logging in, register a passkey for the logged-in user.
-
Log out:
- After the passkey registration is successful, log out of the application.
-
Login with with a passkey
- On the login page, choose sign in with a passkey option to authenticate using a passkey.