I implemented the oauth2 web flow in order to get access_token from users of my app. With the access_token, I would like to do the following actions:
I already successfully get the user information(1) and create a repo(2)
The problem is I can't push code (3), I got "Unauthorized" error.
The command I run:
git remote add origin https://gitlab-ci-token<mytoken>@gitlab.com/myuser/myrepo.git
git push origin master
You should do
git remote add origin https://<access-token-name>:<access-token>@gitlab.com/myuser/myrepo.git
Note that this stores the access token as plain text in the .git\\config
file. To avoid this you can use the git credential system, providing the access token name for "username" and the access token for "password". This should store the credentials in the git credential system in a more secure way.
It is also possible to push directly without adding a new remote repository:
git push https://gitlab-ci-token:<access_token>@gitlab.com/myuser/myrepo.git <branch_name>
This could be especially handy if you would like pull & push to different repositories.
You can also use git remote set-url
. After creating your access token, do:
git remote set-url origin https://gitlab-ci-token:${ACCESS_TOKEN}@gitlab.com/<group>/<repo-name>.git
I placed the following into my ~/.gitconfig
:
[credential "https://gitlab.com"]
username = <insertusername>
helper = "!f() { echo "username=<insertusername>"; echo "password=$GITLAB_PERSONAL_ACCESS_TOKEN"; };f"
Push using gitlab-ci-token
is not currently supported by Gitlab. There is an open feature request .
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.