gitlab – Push naar een repository met access_token

Ik heb de oauth2-webstroom geïmplementeerd om access_token van gebruikers van mijn app te krijgen. Met het access_token wil ik de volgende acties uitvoeren:

  1. Gebruikersinformatie ophalen
  2. Maak een opslagplaats voor deze gebruiker
  3. Push code naar deze repo (met git push )

Ik heb al met succes de gebruikersinformatie(1) en maak een repo(2)

Het probleem is dat ik code (3) niet kan pushen, ik krijg een “Ongeautoriseerde” fout.

Het commando dat ik uitvoer:

git remote add origin https://gitlab-ci-token<mytoken>@gitlab.com/myuser/myrepo.git  
git push origin master

Antwoord 1, autoriteit 100%

Dat zou je moeten doen

git remote add origin https://<access-token-name>:<access-token>@gitlab.com/myuser/myrepo.git

Merk op dat dit het toegangstoken als platte tekst opslaat in het bestand .git\config. Om dit te voorkomen, kun je het git-referentiesysteem gebruiken, waarbij je de toegangstokennaam voor “gebruikersnaam” en het toegangstoken voor “wachtwoord” geeft. Dit zoude inloggegevens op een veiligere manier in het git-referentiesysteem moeten opslaan.


Antwoord 2, autoriteit 42%

Het is ook mogelijk om direct te pushen zonder een nieuwe externe repository toe te voegen:

git push https://gitlab-ci-token:<access_token>@gitlab.com/myuser/myrepo.git <branch_name>

Dit kan vooral handig zijn als u pull & push naar verschillende opslagplaatsen.


Antwoord 3

Push met gitlab-ci-tokenwordt momenteel niet ondersteund door Gitlab. Er is een open functieverzoek.

Other episodes