我正在开发一个应用程序,要求用户登录(电子邮件/密码),然后才能继续到应用程序的其余部分。
我实现了指纹扫描,代码正确地验证了该指纹是注册在设备授权指纹列表中的指纹之一。
我的问题是,我希望能够将这两种情况联系起来,比如用户使用电子邮件/密码登录,然后转到一个屏幕,在那里他可以将指纹与他刚刚登录的帐户相关联,然后在未来每当他在应用程序上使用指纹登录时,应用程序将发送代表指纹的某种唯一密钥到服务器,服务器将知道这样的密钥与该用户的密钥匹配(以前将指纹与帐户关联时保存),并返回该用户的信息。
从我的研究来看,似乎不可能关联特定的指纹,因为它们与设备相关联,但作为设备的身份验证也可以,因为我们假设只有一个用户使用特定的手机,即使不同的人可以访问手机,并将他们的指纹注册为允许的,应用程序将始终使用相同的用户登录。
为了能够实现这种行为,我需要某种唯一的、未更改的密钥来表示用户/指纹。有可能吗?在接收到onAuthenticationSucceeded上的响应时,我是否可以从AuthenticationResult检索该信息?
提前谢谢。
发布于 2019-01-02 20:14:54
下面的方法将指纹区分开来。使用它的风险自负,因为此解决方案可能在未来的更新中不受支持。
/**
* 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中不可公开使用,因此应通过反射进行访问。
https://stackoverflow.com/questions/43349771
复制相似问题