我可能在做一些愚蠢的事情,但是......
尝试使用以下代码检索令牌时:
auth = github3.authorize(user, password, scopes, note, two_factor_callback = two_factor_callback)
我发现 API 创建了一个令牌,然后我将其存储在本地,而且一切都是 hunky dory。
但是,如果我丢失了本地存储的令牌,或者移动到另一台没有本地存储令牌的机器上,我会从授权中返回失败。
似乎一旦为给定note
值创建了令牌,就不能再次获得它,或者用新的值覆盖它。
对于机器的变化,我怀疑fingerprint
github API中的参数需要实现。一个临时的解决方法是note
用你所在的机器独有的东西来加盐,比如 MAC 地址,但这有点难看。
对于令牌存在,但它的本地副本已丢失(例如,用户从我存储它的钥匙串中删除它)的情况,唯一的解决方案似乎是登录到 github 网站并手动删除令牌!
这对我来说有点违反直觉!我在这里想念什么?
我可以看到,也许 github 的服务器没有存储整个令牌,因此无法再次返回它 - 但在这种情况下,我希望能够以一种干净的方式重新生成它。也许有一个,我错过了?