Fla*_*h99 5 android android-authenticator android-keystore android-security android-fingerprint-api
我正在构建一个Android应用程序,我需要使用指纹api通过用户名和密码(在备份上)对用户进行身份验证.
这是我用最简单的术语理解我需要做的事情.
在用户输入用户名和密码并使用后端成功验证后登录时,我生成并将具有这些凭据的特定密钥库存储到androidkeystore.
在下次登录时,如果用户通过指纹成功进行身份验证,则从android密钥库中检索凭据(用户名和密码),并使用这些凭据在后端对用户进行身份验证.
我已经关注:http: //www.techotopia.com/index.php/An_Android_Fingerprint_Authentication_Tutorial
这给出了如何使用指纹API通过设备对用户进行身份验证的一个很好的示例.但是如何获取凭据,以便我可以使用后端对用户进行身份验证?
我想做什么的步骤,建议或详细示例?
谢谢.
在您提出的解决方案中,每次用户登录时后端仍然会收到用户名+密码。这意味着您的应用程序必须存储用户的用户名和密码。避免这种情况可能是谨慎的做法。例如,如果密码稍后更改,您的应用程序将无法登录。此外,除非您特别小心,否则用户名和密码可能会使用 USB 调试进行备份和/或提取adb backup。
另一种解决方案是客户端生成 Android Keystore 密钥对,每次使用私钥时都需要进行用户身份验证(指纹验证)。然后后端提供注册公钥以验证用户帐户的操作。注册操作需要公钥、用户名和密码。如果用户名+密码验证通过,则公钥已注册到该帐户。然后,登录操作被扩展为支持通过让客户端使用相应的私钥对后端生成的质询/随机数进行签名来对客户端进行身份验证。如果签名验证通过,则后端假定这仍然是最初使用用户名+密码注册公钥的同一客户端。
| 归档时间: |
|
| 查看次数: |
1992 次 |
| 最近记录: |