@turnkey/react-native-passkey-stamper
v0.2.16
Published
Passkey stamper for React Native
Downloads
19,919
Readme
@turnkey/react-native-passkey-stamper
This package contains a React Native passkey stamper. It uses react-native-passkey
to do the heavy lifting. This stamper is meant to be used with @turnkey/http
Installation
- Install both
react-native-passkey
and@turnkey/react-native-passkey-stamper
(this package) in your React Native project. - Set up provisioning correctly to make sure your app is signed (needed for passkey functionality)
- Serve an
apple-app-site-association
file from your domain to reference your application. See more details here - Add a new "Associated Domains" capability for web credentials (
webcredentials:your.site.com
)
Usage
Create a new passkey
import { createPasskey } from "@turnkey/react-native-passkey-stamper";
// Returns authenticator params that can be used with sub-org creation, user creation, etc.
const authenticatorParams = await createPasskey({
// Won't be visible to users, this is the name of the Turnkey resource
authenticatorName: "End-User Passkey",
rp: {
id: "your.site.com",
name: "Your App",
},
user: {
// This ID isn't visible to users
id: String(Date.now()),
// ...but name and display names are. This is what's shown in the passkey prompt
name: "Some Name",
// displayName should be the same as "name"
displayName: "Some Name",
},
});
Use an existing passkey
import { PasskeyStamper } from "@turnkey/react-native-passkey-stamper";
import { TurnkeyClient } from "@turnkey/http";
const stamper = new PasskeyStamper({
rpId: "your.site.com",
});
// New HTTP client able to sign with passkeys!
const httpClient = new TurnkeyClient(
{ baseUrl: "https://api.turnkey.com" },
stamper
);
// Now, send authenticated requests
httpClient.signTransaction(...)
Demo app
Head over to this repository for a fully functional React Native app built with Expo.