如何在 Android 上使用 Cognito 生物识别登录?

问题描述 投票:0回答:2

我需要开发一个具有 MFA 身份验证的 Android 应用程序。

要登录,用户需要首先输入用户名和密码,然后输入生物识别数据(指纹、面部或虹膜)以确认其身份。

我想使用 Cognito 之类的东西来存储生物识别登录信息,但说实话,我真的不明白如何做到这一点。

这可行吗?

如果是这样,怎么办?

android amazon-web-services amazon-cognito face-recognition android-fingerprint-api
2个回答
9
投票

简单的答案 - 你不能。

您无法在手机外部传递 Android 系统(或 iOs 系统)收集的生物识别数据。

面部/虹膜和指纹都无法以某种可读格式进行解码并发送到第三方服务。

这就是android系统的工作原理。据我所知,iO 的工作原理是一样的——你无法检索这些数据。此外,你无法改变系统的这种行为(我想,只能在非常定制的 Android ROM 中,而且很难实现)

您可以在应用程序中使用指纹/虹膜/面部解锁 - 您不会向服务器发送任何内容,但您将能够解锁应用程序的 UI - 就目前而言,这是一般用例。

如果完全正确的话 - 您可以向服务器发送一些内容 - 您可以生成一个秘密密钥并根据生物识别数据对其进行加密,并且通过生物识别身份验证您可以将其解密并发送到您想要的任何地方。这个秘密不会代表实际的生物识别信息,但它是……(cognito 支持自定义身份验证流程 - 也许您甚至可以以某种方式利用这种方法)

长话短说 - 这里是关于生物识别身份验证和基于生物识别的加密的官方文档。

这里是一个Codelab示例。

这里是其工作原理的一般示意图。

这里这里是一篇关于该主题的好文章。


0
投票

有这篇文章,它是针对 React Native 的,但是你可以使用它,尤其是 Cognito 部分 https://medium.com/@harmash853/biometry-authorization-using-cognito-and-react-native-6caff09a2333

© www.soinside.com 2019 - 2024. All rights reserved.