android - 如何确认 Biometric 的 onAuthenticationSucceeded 是否合法
问题描述
我有一个存储在我的应用程序 OAuth2 客户端中的刷新令牌。我无法访问调用使用刷新令牌的代码来获取新访问令牌的代码(并且不希望编写自定义代码)。现在,我使用 aBiometricPrompt
来确认用户的身份。由于刷新令牌存储在 OAuth2 客户端中,因此我不需要使用密码来加密/解密刷新令牌。相反,当onAuthenticationSucceeded
在我的生物识别调用中返回时,我只是告诉客户端获取一个新的访问令牌。
这里的问题是黑客可以onAuthenticationSucceeded
用任何结果欺骗调用,并获取代码来刷新令牌,因为它没有使用密码来解密任何东西。
所以最后一个问题是:我能做些什么来确认onAuthenticationSucceeded
回调的合法性吗?我正在考虑向身份验证调用添加密码:
biometricPrompt.authenticate(biometricPromptInfo, new BiometricPrompt.CryptoObject(cipher));
然后在onAuthenticationSucceeded
回调中,我会确认回调包含与调用一起发送的原始密码 - 但我真的不知道如何比较这些密码。或者也许还有另一种解决方案?
解决方案
推荐阅读
- java - 线程“main”中的异常 java.util.InputMismatchException / Java & Netbeans8
- angular - 从 ts 文件访问 ag 网格
- c# - DynamoDB 的 C# API DescribeTableResponse 是否返回不正确的数据?
- istio - 使用 Istio 1.3 的服务之间的随机“上游连接错误或在标头之前断开/重置”
- java - 如何在 Selenium 中测试页面上的子链接
- r - 将多变量、多组数据转换为 ts 对象
- mysql - 如何从数据库中的文件夹中插入图像的名称(名称相同)
- javascript - 通过 Ajax/jQuery 在 Rails 中更新
- python - 如何使用 xlrd 打开 base64 解码的 excel 文件?
- sql - 基于值的选择语句中的多个条件