我在哪里以及如何存储访问令牌?

问题描述

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

这是返回的令牌的结构:

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

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

API调用当前直接在应用中发生,没有代理,并且将使用存储在Firestore中的令牌。

我是否使这个复杂化了?这种方法有问题吗?

解决方法

如果不知道应用程序的完整体系结构,就不可能确切地说出对与错。但是,如果您使用OAuth 2.0 Threat Model and Security Considerations - Store Secrets in Secure Storage进行检查,则会显示以下内容,

此外,大多数现代智能手机都在运行 系统甚至支持将特定于应用程序的数据存储在 分隔文件系统的各个区域,并保护数据不被以下人员访问 其他应用程序。

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

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

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...