tauri-plugin-macos-passkey

Crates.iotauri-plugin-macos-passkey
lib.rstauri-plugin-macos-passkey
version0.1.0
created_at2025-08-14 03:02:38.769638+00
updated_at2025-08-14 03:02:38.769638+00
descriptionCall macOS Passkey registration/login APIs in Tauri apps with ease!
homepagehttps://github.com/yminghua/tauri-passkey-demo
repositoryhttps://github.com/yminghua/tauri-plugin-macos-passkey
max_upload_size
id1794377
size165,960
Minghua Yang (yminghua)

documentation

README

tauri-plugin-macos-passkey

A Tauri plugin that lets your Tauri app call macOS native Passkey APIs for registration and login, with optional support for returning the Passkey PRF extension output.

Setup

For detailed setup instructions, see the tauri-passkey-demo repository.

APIs

register_passkey

Signature (frontend via invoke)

invoke("plugin:macos-passkey|register_passkey", {
  domain: string,
  challenge: number[],
  username: string,
  userId: number[],
  salt: number[]  // pass [] to skip PRF
})

Returns

{
  id: string,
  raw_id: string,
  client_data_json: string,
  attestation_object: string,
  prf_output: number[]  // empty if PRF skipped
}

login_passkey

Signature (frontend via invoke)

invoke("plugin:macos-passkey|login_passkey", {
  domain: string,
  challenge: number[],
  salt: number[]  // pass [] to skip PRF
})

Returns

{
  id: string,
  raw_id: string,
  client_data_json: string,
  authenticator_data: string,
  signature: string,
  user_handle: string,
  prf_output: number[]  // empty if PRF skipped
}

Notes

  • macOS version: Requires macOS 15 or later.
  • PRF Output: If you don’t need PRF, pass an empty salt ([]) and the plugin will skip the PRF extension.

License

Licensed under either of

at your option.

Commit count: 0

cargo fmt