我正在开发一个应用程序,它要求用户登录(电子邮件/密码),然后才能继续使用该应用程序的其余部分。
我实施了指纹扫描,并且代码正确验证了指纹是在设备授权指纹列表中注册的指纹之一。
我的问题是我希望能够将这两种情况联系起来,例如用户使用电子邮件/密码登录,然后进入他可以将指纹与他刚刚登录的帐户关联的屏幕,然后进入未来每当他在应用程序上记录指纹时,应用程序都会向服务器发送某种代表指纹的唯一密钥,服务器会知道这样的密钥与此类用户的密钥相匹配(以前在与帐户关联的指纹时保存) )并返回该用户的信息。
根据我的研究,似乎无法关联特定指纹,因为它们与设备相关联,但作为设备的身份验证工作也可以,因为我们假设只有一个用户使用该指纹特定的电话,即使不同的人有权访问电话,并且他们的指纹已被注册为允许,该应用程序将始终使用同一用户登录。
为了能够有这种行为,我需要一种代表用户/指纹的独特的未更改密钥。可能吗? 在onAuthenticationSucceeded上收到响应时,我可以从AuthenticationResult中检索该信息吗?
提前致谢。
答案 0 :(得分:0)
以下方法区分指纹。使用它需要您自担风险,因为将来的更新中可能不支持此解决方案。
/**
* Obtain the Fingerprint associated with this operation. Applications are strongly
* discouraged from associating specific fingers with specific applications or operations.
*
* @hide
*/
public Fingerprint getFingerprint() { return mFingerprint; }
此方法无法在Api中公开使用,因此应通过Reflection访问。