Я могу клонировать из GitLab через JGit, но когда я иду нажимать изменения, я получаю сообщение об ошибке not authorized
.Push to GitLab с ошибкой авторизации JGit
еще три важные детали:
У меня есть хранилище, так что это не проблема с доступом только для чтения.
Репозиторий закрыт, поэтому я знаю, что токен OAuth 2 действителен и используется в начальном клоне.
У меня ТОЛЬКО есть имя пользователя и токен oauth2. У меня нет пароля пользователя, ключа SSH или токена доступа к персональному доступу.
Вот моя команда для клонирования:
Git.cloneRepository()
.setURI(target)
.setDirectory(repoFolder)
.setCloneAllBranches(true)
.setCredentialsProvider(new UsernamePasswordCredentialsProvider("oauth2", token))
.call();
Вот моя команда для толкания:
PushCommand push = cloneSource.push();
push.setRemote(target);
push.setPushAll();
push.setCredentialsProvider(new UsernamePasswordCredentialsProvider("oauth2", token));
push.call();
Какой протокол вы используете для клонирования и нажать? –
Поставщику учетных данных должно быть предоставлено ваше реальное имя пользователя (то есть тот, который также является частью URL-адреса). Является ли 'oauth2' вашим реальным именем пользователя? –
Пункт 3 в вашем вопросе указывает, что вам недостаточно, чтобы пройти аутентификацию себя для толчка. – dlamblin