指纹唯一ID

时间:2017-04-11 15:08:07

标签: android fingerprint android-fingerprint-api

我正在开发一个应用程序,它要求用户登录(电子邮件/密码),然后才能继续使用该应用程序的其余部分。

我实施了指纹扫描,并且代码正确验证了指纹是在设备授权指纹列表中注册的指纹之一。

我的问题是我希望能够将这两种情况联系起来,例如用户使用电子邮件/密码登录,然后进入他可以将指纹与他刚刚登录的帐户关联的屏幕,然后进入未来每当他在应用程序上记录指纹时,应用程序都会向服务器发送某种代表指纹的唯一密钥,服务器会知道这样的密钥与此类用户的密钥相匹配(以前在与帐户关联的指纹时保存) )并返回该用户的信息。

根据我的研究,似乎无法关联特定指纹,因为它们与设备相关联,但作为设备的身份验证工作也可以,因为我们假设只有一个用户使用该指纹特定的电话,即使不同的人有权访问电话,并且他们的指纹已被注册为允许,该应用程序将始终使用同一用户登录。

为了能够有这种行为,我需要一种代表用户/指纹的独特的未更改密钥。可能吗? 在onAuthenticationSucceeded上收到响应时,我可以从AuthenticationResult中检索该信息吗?

提前致谢。

1 个答案:

答案 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访问。