python - 是否确定使用带有我的用户名和 GitHub 中生成的 token 的请求来通过 GitHub 进行身份验证?

标签 python security github python-requests

我正在尝试使用 GitHub API 来获取存储库信息,就像 JSON 一样。我曾经这样做过,图书馆“请求”。我想使用我的帐户进行身份验证,以获得速率限制 5000 个请求,而不是未经身份验证的 60 个请求。问题是我不确定这个解决方案是否安全

我正在使用这个解决方案,但我想知道这是处理请求的好方法还是有更好的方法?

url_repository = 'https://api.github.com/repos/XXXXX/YYYYY'
resp = requests.get(url=url_repository, auth=('username','token')
data = resp.json() 

我期待一个安全的解决方案。

最佳答案

首先,请始终确保通过 https 进行通信,以便信息在您和服务器之间进行加密。 requests 模块根据您指定的 url 进行操作。

其次,在代码中以纯文本形式存储凭据几乎从来都不是一个好主意。 我建议使用内置 getpass module

此模块允许您输入 token ,而无需将其回显回终端模拟器,也无需将其存储在代码中。

这确实要求您在每次运行脚本时输入 token ,但如果您希望寻求更安全的解决方案,这是您必须做出的妥协。

示例代码

import getpass
url_repository = 'https://api.github.com/repos/XXXXX/YYYYY'
username = getpass.getuser()
token = getpass.getpass('Token: ')
resp = requests.get(url=url_repository, auth=(username, token)
data = resp.json() 

关于python - 是否确定使用带有我的用户名和 GitHub 中生成的 token 的请求来通过 GitHub 进行身份验证?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56910413/

相关文章:

github - 如何自动将 list 添加到新的 github PR 中?

git - 是否可以将存储库问题存储在 git 存储库中?

GitHub Mylyn 连接器 : Getting issues from GitHub

python - 按 0 级索引的最后一个值对 Pandas MultiIndex 进行排序

python - 是否有与 `sum()` 内置函数等效的使用增强赋值的函数?

linux - SSH 与 WebDAV - 各自的安全漏洞是什么?

security - 如何升级密码存储方案(更改哈希算法)

python - Pandas concat 产生 ValueError : Plan shapes are not aligned

python - 使用 Python 登录使用 OAuth 2.0 的网站

java - 为什么我的自定义 SecurityManager 在第 16 次使用 Constructor.newInstance 创建对象时会导致异常?