指纹唯一标识

Pms*_*msc 5 android fingerprint android-fingerprint-api

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

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

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

从我的研究来看,似乎不可能关联特定的指纹,因为它们与设备相关联,但作为设备的身份验证也可以工作,因为我们假设只有一个用户使用该特定手机,即使不同人们可以访问手机,并在允许的情况下注册他们的指纹,该应用程序将始终使用同一用户登录。

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

提前致谢。

Ayd*_*kan -2

下面的方法可以区分指纹。使用它的风险由您自行承担,因为将来的更新可能不支持此解决方案。

/**
   * 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; }
Run Code Online (Sandbox Code Playgroud)

此方法在 Api 中不公开可用,因此应通过反射来访问它。