0

我正在使用IGDB API。它最近已更改为需要 OAuth 令牌进行授权。

这是返回令牌的结构:

{
   "access_token": "prau3ol6mg5glgek8m89ec2s9q5i3i",
   "expires_in": 5587808,
   "token_type": "bearer"
}

我目前的方法是将令牌作为文档存储在 Firestore 中,并每天运行预定的脚本以查看令牌是否在 24 小时或更短的时间内到期。如果是这样,脚本将替换数据库中的令牌。

API 调用目前直接在应用程序中发生,无需代理,并且将使用存储在 Firestore 中的令牌。

我是否过于复杂了?这种方法有问题吗?

4

1 回答 1

0

如果不了解应用程序的完整架构,就不可能准确地说出什么是对或错。但是,如果您检查OAuth 2.0 Threat Model and Security Considerations - Store Secrets in Secure Storage,它会显示以下内容,

此外,大多数现代智能手机操作系统甚至支持在文件系统的不同区域中存储特定于应用程序的数据,并保护数据不被其他应用程序访问。

注意:应用程序应确保机密数据即使在从安全存储读取后也保持机密,这通常意味着将此数据保存在应用程序的本地内存中。

因此,请确保访问令牌存储在同一系统上运行的不同应用程序无法利用的位置。此外,确保没有恶意方可以简单地访问此位置并获取访问令牌。这些是您可以遵循的建议。

于 2020-10-09T15:17:57.077 回答