This repository contains a demo application showcasing passkey authentication implementation in Expo with abstractionkit.
Before running the application, you need to set up a few things:
Fill a envs.ts
file in the root directory and fill in the required variables.
The passkey functionality requires two configuration files to be hosted on your web server:
.well-known/apple-app-site-association
.well-known/assetlinks.json
For local development, you can use the included passkeys-server
which simulates these configuration files using Express.js.
-
Configure the server by updating:
appIdentifier
package_name
sha256_cert_fingerprints
-
The passkeys server requires a tunneling service (like ngrok) to be accessible:
# Start the server npm start # In a separate terminal, start ngrok ngrok http 3006
-
Update the RP ID:
- Search for all occurrences of "37dd-178-19-186-193.ngrok-free.app" in the codebase
- Replace them with your ngrok URL (without the https:// prefix)
-
Install dependencies:
npm install
-
Start the expo server and install the app on your device:
npm run android / npm run ios