問題タブ [android-biometric]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
1709 参照

fingerprint - BiometricPrompt で生体認証と PIN/パスワードを確認する正しいフローはどれですか?

BiometricManagerには、canAuthenticate次の 4 つのフラグのいずれかを返すことができるメソッドがあります。

BiometricPromptここで、その呼び出しの結果が である場合にのみトリガーしBIOMETRIC_SUCCESS、それ以外の場合は別の認証方法 (つまり、アプリ固有のパスワード) にフォールバックすることが論理的であるように思われます。

しかしsetDeviceCredentialAllowed(true)、BiometricPrompt を設定すると、チェックが返されなくてもデバイスのパスワードを使用できます(この場合は が返されると思います)。canAuthenticateBIOMETRIC_SUCCESSBIOMETRIC_ERROR_NONE_ENROLLED

KeyguardManagerさらに、ピン/パスワード/パターンが設定されているかどうかを確認するために使用できます。

ただし、これは API 23 以降でのみ機能します。ただし、setDeviceCredentialAllowed23 未満の API レベルで動作します。ただし、これらの古いデバイスにデバイス パスワードが設定されているかどうかを確認する実際の代替手段はないようです。

私の質問は次のとおりです。これらすべての異なるオプションを使用して、適切な認証方法をユーザーに表示する正しいフローは何ですか? 23 未満の API レベルでは、どのようcanAuthenticateisDeviceSecure組み合わせて使用​​する必要があり、どのチェックを使用する必要がありますか?

0 投票する
0 に答える
144 参照

android - アラート ダイアログとして表示する代わりに、アクティビティ ページに生体認証ダイアログを表示する

アプリケーションに生体認証プロンプトを実装しています。現在、認証ダイアログは警告ダイアログとして表示されています。これの代わりに、ダイアログをアクティビティページに表示したい(警告ダイアログとして表示したくない)アプリの生体認証ダイアログのようにしたい Whats app authentication screenshot

0 投票する
0 に答える
340 参照

android - Android 9 以前を実行しているデバイスの AndroidX BiometricPrompt

BiometricPrompt を使用しsetDeviceCredentialAllowed(true)て複数の失敗した指紋認証を実行すると、デバイスのロックを解除するためにデバイスが PIN/パターンを要求するようにフォールバックすることが予想されます。私の経験では、Android 10 より前の Android デバイスで実際にこれが行われることはありません。

実際に何が起こるかというと、ERROR_LOCKOUTエラーが表示されonAuthenticationError、指紋リーダーがシステムによって無効にされます。つまり、UI に「指紋でログイン」ボタンがあっても、ユーザーが何度も認証に失敗した後は何もしません。

Android 10 を実行している OnePlus 7 Pro では、動作は正しいです。認証試行が複数回失敗すると、ダイアログで PIN が要求されます。AndroidX Biometrics を使用すると、古いデバイスでも同じ動作が発生することが予想されます。それとも私は間違っていますか?

編集: これに関するバグ レポートを Google に作成しました: https://issuetracker.google.com/issues/148045413