Passkey Management
Passkeys provide secure, passwordless authentication for your users. Volr SDK uses passkeys to secure user wallets, providing a better user experience than seed phrases.
What are Passkeys?
Passkeys are cryptographic credentials that use WebAuthn/FIDO2 standards. They provide:
- Security: Private keys never leave the device
- Convenience: No passwords or seed phrases to remember
- Cross-device: Can be synced across devices via iCloud Keychain or Google Password Manager
패스키 등록 플로우
사용자가 처음 인증할 때(SigninModal 또는 BYO Auth를 통해), 지갑을 보호하기 위해 패스키를 등록해야 합니다:
Automatic Enrollment
The SigninModal component automatically handles passkey enrollment:
import { SigninModal } from '@volr/react-ui';
function App() {
const [showSignin, setShowSignin] = useState(false);
return (
<SigninModal
isOpen={showSignin}
onClose={() => setShowSignin(false)}
// Passkey enrollment happens automatically after login
/>
);
}
Manual Enrollment
If you're using BYO Auth, you can manually trigger passkey enrollment:
import { PasskeyEnrollView } from '@volr/react-ui';
import { useVolr } from '@volr/react';
function App() {
const { user } = useVolr();
const [showEnroll, setShowEnroll] = useState(false);
// Check if user needs passkey enrollment
const needsPasskey = user && !user.keyStorageType;
if (needsPasskey && showEnroll) {
return (
<PasskeyEnrollView
wrapInModal={false}
onComplete={() => {
console.log('Passkey enrolled!');
setShowEnroll(false);
}}
onError={(error) => {
console.error('Passkey enrollment failed:', error);
}}
/>
);
}
return (
<button onClick={() => setShowEnroll(true)}>
Set Up Passkey
</button>
);
}