Passkey Flex Rust SDK
Create transactions and manage Passage users with Rust.
Prerequisites
Passage App ID and API Key from Passage Console
Install
Install the passage_flex crate.
cargo add passage_flexInitialize
Initialize a Passage Passkey Flex instance using your app ID found in Passage Console.
main.rs
use passage_flex::PassageFlex;
 
let passage = PassageFlex::new(
    std::env::var("PASSAGE_APP_ID").unwrap(),
    std::env::var("PASSAGE_API_KEY").unwrap(),
);Create transactions
The Passkey Flex Rust SDK provides a way to create transactions, which are used to kick off a registration or authentication user flow. To learn more, see our implementation guides for registration and authentication.
Verify nonce
In addition to creating transactions, the Passkey Flex Rust SDK also provides a way to verify the successful registration or authentication of a user’s passkey.
// The nonce should come from your client upon successful registration or authentication of the user's passkey
let nonce = req.nonce;
 
let external_id = passage.auth.verify_nonce(nonce).await?;
 
// The external_id should match your user's unique identifier
let user = repo.get_user_by_id(external_id).await;User management
The Passkey Flex Rust SDK also provides a way to securely manage users and their WebAuthn devices.
The functionality currently available on a user is:
- Get a user’s information
 - List all devices for a user
 - Revoke a particular device from a user