存储和重用脚本授权令牌有哪些技术?

问题描述 投票:0回答:1

我有一个 Python 脚本,它使用来自 API 的数据。我在本地计算机和服务器上运行此脚本。我使用客户端凭据(客户端 ID 和密钥)进行身份验证,接收授权令牌并执行我的请求。一旦我完成了,这个令牌仍然有效一段时间。如果我需要在令牌过期之前再次运行此脚本,我想重用该令牌而不是请求另一个令牌。

我正在努力想办法存储令牌。如何安全地存储这些数据以供重复使用?

这不是一个长时间运行的应用程序,因此存储机制必须位于脚本外部。存储在 JSON 文件中似乎并不安全。

python authentication oauth-2.0 access-token
1个回答
0
投票

您可以将信息保存在环境变量中,而不是写入 json 文件。然而,对安全的影响是相同的。其他进程也可以使用此环境变量。

Ansible Vault

另一个选项可能是Ansible Vault。请注意,您仍然需要管理密码。

  1. 将代币保存到保险库
from ansible_vault import Vault
from getpass import getpass

token = "foo"

password = getpass()
vault = Vault(password)
vault.dump(token, open("vault.yml", "w"))
  1. 从金库读取令牌
from ansible_vault import Vault
from getpass import getpass

password = getpass()
vault = Vault(password)
token = vault.load(open('vault.yml').read())

# check with pyjwt whether token is still valid...
# do more stuff
© www.soinside.com 2019 - 2024. All rights reserved.