GitHub上的EGit库

时间:2017-05-23 19:52:57

标签: java github-api egit

我真的迷失了如何确保有人在登录GitHub时使用正确的凭据。

https://github.com/eclipse/egit-github/tree/master/org.eclipse.egit.github.core

这是我正在尝试使用的库,但是当我尝试使用.setCredentials()方法时,它从不检查输入的凭据是否有效。您可以输入任何密码的用户名,并允许您通过。

我的问题是,如何确保用户密码和用户名与其GitHub帐户匹配?

1 个答案:

答案 0 :(得分:0)

仅当您向服务器发出请求时,才会对输入凭据进行身份验证。如果身份验证失败,服务器将拒绝该请求,这将导致ReqestException" 401"在客户端。因此,进行查询并检查异常,您将知道输入凭据是否正确。例如,

try {
    GitHubClient client = new GitHubClient().setCredentials(login, password);
    UserService userService = new UserService(client);
    User user = userService.getUser(login);
    ...
} catch (RequestException re) {
    if (re.getMessage().endsWith("Bad credentials (401)")) {
        // input login/password incorrect...
    } else {
        // some other reason...  
    }
}