我真的迷失了如何确保有人在登录GitHub时使用正确的凭据。
https://github.com/eclipse/egit-github/tree/master/org.eclipse.egit.github.core
这是我正在尝试使用的库,但是当我尝试使用.setCredentials()方法时,它从不检查输入的凭据是否有效。您可以输入任何密码的用户名,并允许您通过。
我的问题是,如何确保用户密码和用户名与其GitHub帐户匹配?
答案 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...
}
}