Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error when pushing using personal access token -- the requested URL returned error: 403 #52

Open
fc opened this issue Apr 1, 2020 · 8 comments

Comments

@fc
Copy link

fc commented Apr 1, 2020

Context:
Was checking out multiple private repos and was copying a file from a private repos to a public repos in the workspace, then committing and pushing. The push would fail with a 403.

Error:

remote: Permission to my-repos denied to github-actions[bot].
fatal: unable to access 'https://github.com/.../my-repos.git/': The requested URL returned error: 403

By running this command we can see any of config settings being used for our repos:

git config -l

We discovered the checkout action is executing a command like this:

git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***

Reference:
https://github.com/actions/checkout/blob/master/adrs/0153-checkout-v2.md#pat

The fix is to do this:

git config --local --unset-all "http.https://github.com/.extraheader"

It's seems unlikely that this could lead to side effects but it may be desirable to re-set this value after the push is completed.

Sorry for lack of PR, we ended up not using your action and just incorporated what we ended into our workflow file.

@ad-m
Copy link
Owner

ad-m commented Apr 5, 2020

Thank for you analysis. At that moment I don't have spare time to get that value, reset default value and restore. PR are welcome.

@ad-m
Copy link
Owner

ad-m commented May 26, 2020

@fc, could you verify that regarding #46?

@fc
Copy link
Author

fc commented May 26, 2020

@ad-m we ended up not using this action to achieve what we wanted so I am unable to validate unfortunately.

@basnijholt
Copy link

basnijholt commented Jul 13, 2020

I am seeing this issue too here, however, in #55 people report that it's solved for them...

edit: I wasn't using the right scopes for my PAT, it works now.

@IronCore864
Copy link

#44 (comment)
This solved the issue for me. Hope this helps others.

@ftheeten
Copy link

Using the standalone and cross-platform "GCM" (Git Credential Manager) indirectly solved this problem for me (on a Windows 1O platform)

I installed it from this resource : https://github.com/microsoft/Git-Credential-Manager-Core/releases/tag/v2.0.498

(https://github.com/microsoft/Git-Credential-Manager-Core)

Once it is installed, the first push operation (or pull) displays a prompt allowing to reach the remote GitHub. It didn't work well with the Personal Access Token, but this tool also allows to open the GitHub HTML page, by providing the "classic" username and password. It apparently stores the credentials in a cache. Commits and pushes both work with the Bash console and TortoiseGit. I'm not sure what happens when the token expires though...

@xianshenglu
Copy link

For me, I used permissions: write-all to make it work with my custom git push command.

on:
  push:
    branches:
      - dev

permissions: write-all

jobs:

@liqwang
Copy link

liqwang commented Mar 14, 2023

For me, I used permissions: write-all to make it work with my custom git push command.

on:
  push:
    branches:
      - dev

permissions: write-all

jobs:

This really helps me, thanks a lot!

liqwang added a commit to liqwang/flyingbird-checkin that referenced this issue Mar 14, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

7 participants