我们有一个基于微服务的系统,当前用户通过 keycloack(jwt) 进行身份验证,我们需要在这个现有系统中添加生物识别登录。首先,我们设计了如下的生物识别认证流程:
- 在客户端(移动应用程序)生成非对称密钥对。
- 与后端服务器共享公钥。
- 使用后端服务器上的公钥加密身份验证令牌(从 keykoack 生成的 jwt 访问令牌,最初从密码登录生成)。
- 将加密的令牌共享到移动应用程序并将其保存在设备本地。
- 使用生物识别 API 来访问私钥。
- 解密加密的令牌并将其用于进一步的身份验证。
但我遇到的问题是在以下情况下该怎么办:
- 访问令牌过期了?
- 即使超过了代币的生命周期,中途需要更新代币策略怎么办?
我的问题是:
- 这个流程正确且有意义吗?(流程参考自:参考线程)
- 在与上述类似的情况下,生物识别身份验证采取的最佳实践是什么,或者流行的应用程序如何实施生物识别任何参考?
我从上周开始就试图解决这个问题,但没有成功。我非常感谢您的建议、提示和帮助。