Nie można ustawić tokena dostępu GitHub

Aug 25 2020

Kiedy próbuję sklonować repozytorium przy użyciu protokołu HTTPS, nie wyświetli się monit o podanie tokenu dostępu, po prostu pojawia się błąd 403. klon git przy użyciu SSH działa dobrze. Podejrzewam, że problem jest związany z przebywaniem na firmowym laptopie korzystającym z ZScaler, a łańcuch zaufania \ certyfikatu HTTPS jest uszkodzony.
Skąd git wie, jakich certyfikatów użyć, tak jak robi to przeglądarka? lub jak mogę to rozwiązać?

$ git clone https://github.com/GoogleCloudPlatform/python-docs-samples.git
Cloning into 'python-docs-samples'...
fatal: unable to access 'https://github.com/GoogleCloudPlatform/python-docs-samples.git/': The requested URL returned error: 403

Próbowałem usunąć wszystkie odniesienia z mojego KeyChain, więc ponownie zapyta mnie o mój token dostępu, ale nigdy tak się nie stało. Nie widzę również żadnego odniesienia do git w łańcuchu kluczy OSX

Mój lokalny git jest ustawiony na używanie klucza klucza osx

$ git config --get-all --show-origin credential.helper
file:/Applications/Xcode-11.3.1.app/Contents/Developer/usr/share/git-core/gitconfig     osxkeychain

Ale wydaje się, że zna moje poświadczenia GitHub dla korporacyjnego GitHuba mojej firmy

$ git credential-osxkeychain get

password=<my company password>
username=<my company logon>

Skąd git pobiera moją nazwę użytkownika i hasło do firmowego GitHub mojej firmy i jak mogę powiedzieć git, aby używał moich danych logowania i tokenu dostępu do GitHub.com?

Zaktualizuj 1

$ git credential-cache exit
$ git credential-osxkeychain erase host=github.com protocol=https $ git config --global --unset credential.helper

Teraz to polecenie nic nie zwraca

$ git credential-osxkeychain get

Ale nadal otrzymuję błąd 403, nawet używając mojej nazwy użytkownika GitHub zgodnie z sugestią poniżej, nie wyświetla mi się monit.
Dwukrotnie sprawdziłem mój KeyChain i nie ma tam nic zapisanego dla GitHub

Odpowiedzi

1 rossco Aug 28 2020 at 08:03

Wreszcie znalazłem rozwiązanie

$ git config --global url.git://github.com.insteadOf "https://github.com"

Wymusza to protokół git dla publicznych witryn GitHub bez uwierzytelniania, podczas gdy nadal działa w sieci firmowej i naszych prywatnych repozytoriach GitHub

VonC Aug 25 2020 at 11:41

Dobrą wskazówką, aby zachęcić pomocnika poświadczeń do poproszenia o poświadczenie z poprawnym loginem, jest dodanie tego loginu do adresu URL GitHub:

 git clone https://<MyGitHubAccount>@github.com/GoogleCloudPlatform/python-docs-samples.git

I upewnij się, że usunąłeś wszelkie wpisy GitHub z pęku kluczy OSX

Następnie powinien poprosić o podanie hasła.