如何测试凭证是否有效?

时间:2019-01-22 09:16:38

标签: libgit2

我在文档中找不到用于检查给定凭据是否可用于克隆给定存储库的规范方法。有issue表示一种方法可能是检查git_cred_acquire_cb()是否被多次调用。有人可以确认这一点或指出另一种方式吗?

1 个答案:

答案 0 :(得分:2)

这是建议的方法。如果第二次调用您的凭据回调,则不会接受您提供的第一个凭据。此模式主要对UI应用程序有用(弹出模式用户名/密码对话框)。

您可以使用回调数据来计算被呼叫的次数。

我意识到这可能是不完美的,尤其是当您使用另一种语言绑定libgit2时。在堆上建立数据结构并管理其生命周期并不总是那么简单。

也许也可以只提供凭据并等待GIT_EAUTH返回码。从理论上讲,各种传输机制都应在几次身份验证失败后放弃,无论如何。但是,我们发现0.27版本中至少有一个漏洞会永远循环。因此,建议。