在尝试使用 jgit 克隆 repo 时,将错误的用户名传递给
UsernamePasswordCredentialsProvider
实际上不会导致任何错误,这让我感到非常惊讶。为什么它有效?当用户名不正确时如何克隆回购协议?
尝试使用版本 4.6.0.201612231935-r 和 6.5.0.202303070854-r
我有一个函数正在尝试克隆一个 git 仓库,给定用户名和访问令牌。 在尝试处理边缘情况的异常时,我注意到传递了不正确的用户名,但特定 git url 和分支的正确访问令牌根本不会给出任何错误!
` return Git.cloneRepository()
.setURI(repoDetailsModel.getRepoUrl())
.setCredentialsProvider(
new UsernamePasswordCredentialsProvider(
"INCORRECT_RANDOM_USER" , repoDetailsModel.getAccessToken()))
.setDirectory(tempDir)
.setBranchesToClone(Arrays.asList(REPO_BRANCH_PATH + repoDetailsModel.getRepoBranch()))
.setBranch(REPO_BRANCH_PATH + repoDetailsModel.getRepoBranch())
.call();`
但是传递不正确的访问令牌确实会出现预期的“未授权”错误。 这是 jgit 库中的错误吗? 只要访问令牌在设计上是正确的,
UsernamePasswordCredentialsProvider
是否允许匿名访问?