通过带有指纹的android密钥库检索用户凭据(用户名和密码)

我正在构建一个Android应用程序,我需要使用指纹api通过用户名和密码(在备份上)对用户进行身份验证.

这是我用最简单的术语理解我需要做的事情.

>在用户输入用户名和密码后登录
通过后端成功验证,我生成并存储了一个
具有androidkeystore凭据的特定密钥库.
>在下次登录时,如果用户通过a成功进行身份验证
指纹,从中检索凭据(用户名和密码)
android keystore并在后端验证用户
那些凭据.

我跟着说:
    http://www.techotopia.com/index.php/An_Android_Fingerprint_Authentication_Tutorial

这给出了如何使用指纹API通过设备对用户进行身份验证的一个很好的示例.但是如何获取凭据,以便我可以使用后端对用户进行身份验证?

我想做什么的步骤,建议或详细示例?

谢谢.

最佳答案
在您提出的解决方案中,每次用户登录时,后端仍会收到用户名密码.这意味着您的应用程序必须存储用户的用户名和密码.避免这种情况可能是谨慎的.例如,如果稍后更改密码,您的应用程序将无法登录.此外,除非您特别小心,否则可以使用adb备份通过USB调试备份和/或提取用户名和密码.

另一种解决方案是客户端生成Android密钥库密钥对,该密钥对在每次使用私钥时都需要用户认证(指纹认证).然后,后端提供注册公钥的操作,以便作为用户的帐户进行身份验证.注册操作采用公钥,用户名和密码.如果用户名密码验证,则为该帐户注册公钥.然后扩展登录操作以支持通过使客户端使用相应的私钥签署由后端生成的质询/随机数来验证客户端.如果签名验证,则后端假定这仍然是最初使用用户名密码注册公钥的客户端.

转载注明原文:通过带有指纹的android密钥库检索用户凭据(用户名和密码) - 代码日志