NativeScript / NativeScript/plugins
[@nativescript/biometrics] Issue with verifyBiometric on iOS 18.3.1: Unable to Retrieve Stored Secret When Using pinFallback
未關閉
@NathanWalker 已經在處理了。
開始於 2025年2月28日。
in progress
- 主要語言
- TypeScript
- 星號
- 206
- 分支
- 123
- 平均合併
- 2 天 1 小時
- 30 天內合併 PR
- 1
描述
Description
While using iOS 18.3.1, I encountered an issue with the verifyBiometric function where enabling pinFallback prevents retrieval of the stored secret.
Code Example
this._BiometricAuth.verifyBiometric({
title: 'Authenticate',
message: 'Verify your identity to access your account.',
keyName: 'MyKeyName',
pinFallback: true, // Allow fallback to device passcode
ios: {
fetchSecret: true, // Retrieve stored secret upon successful authentication
customFallback: false, // Do not use custom fallback logic
},
});
Expected Behavior
- If Face ID fails, the system should prompt the user to enter their device passcode.
- After successful authentication (via Face ID or passcode), the stored secret should be retrievable.
Actual Behavior
- When
pinFallback: true, the stored secret is not accessible. - This behavior seems to be affected by
customFallback: false, even though I intend for it to behave similarly to Face ID authentication. - If
pinFallback: false, Face ID failures result in an error (SecItemCopyMatching), and the passcode prompt does not appear.
Question
Is there a way to retrieve the stored secret when pinFallback: true and customFallback: false? Am I missing a configuration that allows proper fallback behavior while still being able to fetch the stored secret?
Environment
- iOS Version: 18.3.1
- Biometric Authentication Library:
@nativescript/biometrics: "1.3.1" - Device Model: iPhone 15 Pro, iPhone 16
Any guidance or workarounds would be greatly appreciated!
貢獻指南
從這裡開始
- 先讀完整個 Issue,再讀專案的貢獻指南。
- 在 Issue 下留言說明你要接手 —— 這能避免兩個人做同樣的事。
- Fork 儲存庫,在一個分支上完成修改。
- 送出 Pull Request,並在描述裡引用這個 Issue 編號。
評估
這個 Issue 還沒有評估資料。