我可能做了一些愚蠢的事,但是......
尝试使用以下代码检索令牌时:
auth = github3.authorize(user, password, scopes, note, two_factor_callback = two_factor_callback)
我发现API会创建一个令牌,然后我会将其存储在本地,并且所有令牌都是hunky dory。
但是,如果我丢失了本地存储的令牌,或者移动到本地没有存储令牌的另一台机器,我会从授权中恢复失败。
似乎一旦为给定的note
值创建了一个标记,就无法再次获取它,或者用新的标记覆盖它。
对于机器的更改,我怀疑需要实现github API中的fingerprint
参数。一个临时的解决方法是将note
值加上您所使用的机器的独特内容,例如MAC地址,但这有点难看。
对于令牌存在的情况,但它的本地副本已丢失(例如,用户将其从我已存储它的钥匙串中删除),唯一的解决方案似乎是记录到github网站并手动删除令牌!
这对我来说有点违反直觉!我在这里缺少什么?
我可以看到,也许github的服务器不会存储整个令牌,因此无法再次返回 - 但在这种情况下,我希望能够以干净的方式使用重生它。也许有一个,我错过了它?
答案 0 :(得分:0)
对于令牌存在的情况,但它的本地副本已丢失(例如,用户将其从我存储它的钥匙串中删除),唯一的解决方案似乎是登录到github网站并手动删除令牌!
您应该能够使用用户的用户名和访问权限访问授权列表。密码。如果你能找到现有的,你应该可以删除它。
我可以看到,也许github的服务器不存储整个令牌,因此无法再次返回
我怀疑他们做存储它。他们只是拒绝退货。
但是在那种情况下,我希望能够以一种干净的方式重新生成它。也许有一个,我想念它?
据我所知,无法重新生成授权令牌。 GitHub不会公开生成算法,并且在第一次生成令牌后无法检索令牌。