我有一个使用 BiometricPrompt 来实现基于生物特征的身份验证的应用程序。我注意到一些设备提供虹膜/面部识别作为指纹扫描的选项。
我希望我的应用只允许指纹扫描。有可能只允许这样做吗?或者,是否可以确定用户选择的身份验证方法,以便我可以在回调代码中拒绝请求?
我有一个使用 BiometricPrompt 来实现基于生物特征的身份验证的应用程序。我注意到一些设备提供虹膜/面部识别作为指纹扫描的选项。
我希望我的应用只允许指纹扫描。有可能只允许这样做吗?或者,是否可以确定用户选择的身份验证方法,以便我可以在回调代码中拒绝请求?
根据最新的 Android Biometric API 文档,没有办法只允许指纹扫描。
传递 CryptoObject inauthenticate
方法以启用强身份验证。在 Android 中,人脸/虹膜和指纹有不同的测量方法。
我的担心是无效的。
这是官方的说法:
虽然强生物识别和弱生物识别都可以解锁设备,但弱生物识别:
要求用户重新输入其主要 PIN 码、图案、密码或强生物识别技术,以便在 4 小时不活动后解锁设备,例如留在办公桌或充电器上时。这是对强生物识别和弱生物识别强制执行的 72 小时超时的补充。
即将推出的 BiometricPrompt API 不支持,该 API 是应用程序开发人员以与模式无关的方式安全地对设备上的用户进行身份验证的通用 API。
无法验证付款或参与涉及 KeyStore 身份验证绑定密钥的其他交易。
必须先向用户显示警告,说明使用生物识别的风险,然后才能启用。
这些措施旨在允许使用较弱的生物识别技术,同时降低未经授权访问的风险。
https://android-developers.googleblog.com/2018/06/better-biometrics-in-android-p.html