我正在开发一个带有专用服务器的移动应用程序。为了让用户访问主页,他必须使用用户名和密码登录。服务器将验证凭据并返回访问和刷新令牌。刷新后的内容将保存在“移动安全存储”中。
当用户返回应用程序时,/refresh api 请求将发送到服务器以检查存储的刷新令牌的有效性。如果它仍然有效,用户将获得访问权限并自动重定向到主页。如果没有,他将不得不重新登录。到目前为止没有什么特别的。
我想建议在设置中添加指纹生物识别或 PIN 作为额外的安全检查。我想知道我是否可以在没有任何服务器交互的情况下做到这一点:
它在架构方面是正确的,还是完全被骗了或者是一个糟糕的方法?
请注意,如果用户选择 PIN 作为第二次身份验证,我将发出 api 请求,因为 PIN 将存储在数据库中。我想知道我是否应该对指纹做同样的事情,但是如何存储指纹,更糟糕的是,如何在服务器端比较它?
感谢您的帮助!
我还没有实现任何东西,我需要有关构想的架构级别的反馈。
要验证指纹是否属于用户,您需要与用户数据进行比较。这意味着您需要将其发送到前端。
您无法保密此数据,因为此时用户身份尚未确认(这就是您首先需要指纹的原因)
所以,我想说更安全的方法是在前端捕获输入数据(指纹),但在后端(非公开)捕获要比较的数据