一个小而方便的模块和脚本,用于从磁盘加载/保存令牌。
infoauth的Python项目详细描述
一个小而方便的模块和脚本,用于从磁盘加载/保存令牌。
确实如此:
- 将令牌保存在磁盘中的文件中,并对其进行pickle和压缩
- 将文件更改为只读,并且仅限您自己使用
- 从磁盘加载令牌
在哪种情况下,这个模块是有用的?假设你有一个脚本或程序 需要使用一些秘密令牌(mail auth、twitter令牌、db connection info, 但是你不想在代码中包含这些标记,因为它是 公共,因此使用此模块您可以:
tokens = infoauth.load(os.path.expanduser("~/.my-tokens"))
请注意,用户只能自己阅读,而不能在 项目文件(这样你就不会有意外分享的风险)。
警告:它不会用任何密钥或任何东西保护您的机密,这 模块不会以任何方式保护您的机密。是的,令牌被扰乱了 (因为腌制和压缩)和其他人可能无法访问它们 很容易(只能由您读取),但没有实现进一步的保护。使用 风险自负。
如何从python程序中使用它?
加载令牌:
import infoauth auth = infoauth.load(os.path.expanduser("~/.my-mail-auth")) # ... mail.auth(auth['user'], auth['password'])
抛开一些秘密:
import infoauth secrets = {'some-stuff': 'foo', 'code': 67} infoauth.dump(secrets, os.path.expanduser("~/.secrets"))
注意,由于秘密令牌通常只存储一次,所以 更容易从命令行执行,如下一节所示。
如何从命令行使用它?
显示标记:
$ infoauth show ~/.my-mail-auth password: ... user: ...
用您的机密创建一个文件:
$ infoauth create ~/.secrets some-stuff=foo code=67
注意,从命令行创建文件有以下限制 存储为字符串的值(如果要存储其他数据类型,则为 整数、列表或任何自定义对象,都需要使用 以编程方式将机密转储到磁盘,如前所示 章节)。