問題タブ [pin-code]
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.
android - リピーターは、ユーザー名/パスワードの代わりに PIN コードでログインできます
ユーザー認証に Firebase.io を使用する非常に基本的なアプリがあります。でブール値を設定することにより、リピーターを認識し、初めてのユーザーとして別の画面で開始できるように設定する方法についていくつか見つけましたgetSharedPreferences
。これを行うアプリを見たことがあります。たとえば、Discover (銀行アプリ) では、常にユーザー名とパスワードを入力する代わりに、4 桁の PIN を設定してログインできます。これがどのように達成されるか、どこでチュートリアルや詳細情報を探すことができるか知っている人はいますか?
私の最初のアイデアは、ピンを保管するgetSharedPreferences
ことでしたが、それについて何も見つけることができず、それがどれほど安全かわかりません.
android - リモートシステムにログインするためにネイティブの PIN コード/パターンを使用することは可能ですか?
パスワード、PIN コード、パターン、指紋など、複数の方法でログインできる Android アプリを設計しています。
パスワード ログインの実装は簡単ですが、サーバーはパスワードを照合し、ユーザーを認証し、ログイン セッションを管理します。
私が知る限り、PINコードはある種の「ネイティブ認証」であり、「チェックプロセス」はデバイスまたはAndroidシステム内で行われます。「ネイティブ認証」が成功してもアプリが資格情報をサーバーに送信しない場合、アプリはどのようにサーバーにログインできますか?
明らかに、ピンコード/パターンをサーバー内の「パスワード」にマップするソリューションは必要ありません。これはパスワードログインと変わらないためです。
別の解決策は、デバイスにいくつかの資格情報 (トークン、パスワード、証明書) を保存し、「ネイティブ認証」の後にサーバーに転送することです。しかし、これは安全ではないと思います。
では、サーバーによって信頼されるために、アプリはどのようにしてこれらの「ネイティブ認証」(PIN コード、パターン、指紋) をリモート サーバーに接続できますか?
ありがとう。
補足: 指紋ログインに関しては、FIDO UAF を参照します。このソリューションは私の問題を扱います:「ネイティブ認証」の後、fido クライアントはサーバーにいくつかの「アサーション データ」を送り返し、サーバーは fido を検証できます。これらのデータに対してクライアントを確認し、アサーションを受け入れます。