> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dynamic.xyz/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Authenticate with Passkey

<Note>
  The user must have already signed in via another method (e.g. email/password, social, etc.) and added a passkey to their account before they can use it to sign in with.

  You can prompt a user to add a passkey to their account using your SDK's passkey registration method (see SDK-specific Tabs) or by directing them to the account security section in your app (the client/WebView flow).
</Note>

## Dashboard Configuration

Simply toggle on "Passkey" in [the Log in & User Profile section of the dashboard](https://app.dynamic.xyz/dashboard/log-in-user-profile).

```ts React Native theme={"system"}
  import { dynamicClient } from '<path to client file>';

  // Primary sign-in with passkey (1FA)
  await dynamicClient.auth.passkey.signIn({
    relatedOriginRpId: 'example.com', // Optional, if you want to sign in from a related origin
  });

  // Register a new passkey for the signed-in user
  await dynamicClient.passkeys.register();

  // MFA authenticate using an existing passkey
  await dynamicClient.passkeys.authenticateMFA({
    relatedOriginRpId: 'example.com', // Optional, if you want to authenticate from a related origin
  });
```

<Note>
  React Native requires platform setup for passkeys. See the [React Native Passkey Setup guide](/react-native/reference/setup-passkey).
</Note>
