Tidak dapat menyetel token akses GitHub

Aug 25 2020

Ketika saya mencoba dan git mengkloning repositori apa pun menggunakan HTTPS, itu tidak akan meminta saya untuk token akses saya, saya hanya mendapatkan kesalahan 403. git clone menggunakan SSH berfungsi dengan baik. Saya menduga masalahnya terkait dengan berada di laptop perusahaan yang menggunakan ZScaler dan rantai kepercayaan \ sertifikat HTTPS rusak.
Bagaimana git mengetahui sertifikat apa yang harus digunakan, seperti yang dilakukan browser? atau bagaimana saya bisa memecahkan masalah ini?

$ 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

Saya telah mencoba untuk menghapus semua referensi dari KeyChain saya sehingga itu akan meminta saya lagi untuk Access Token saya tetapi tidak pernah melakukannya. Juga saya tidak dapat melihat referensi apa pun untuk git di OSX KeyChain

Git lokal saya disetel untuk menggunakan KeyChain osx

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

Namun tampaknya mengetahui kredensial GitHub saya untuk GitHub korporat perusahaan saya

$ git credential-osxkeychain get

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

Dari mana git mendapatkan nama pengguna dan kata sandi saya untuk GitHub perusahaan Perusahaan saya dan bagaimana cara memberi tahu git untuk menggunakan kredensial & token akses saya untuk GitHub.com?

Perbarui 1

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

Sekarang perintah ini tidak menghasilkan apa-apa

$ git credential-osxkeychain get

Tetapi masih mendapatkan kesalahan 403, bahkan menggunakan nama pengguna GitHub saya sesuai saran di bawah, itu tidak meminta saya.
Saya telah memeriksa ulang KeyChain saya dan tidak ada yang disimpan di sana untuk GitHub

Jawaban

1 rossco Aug 28 2020 at 08:03

Akhirnya ditemukan solusi

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

Ini memaksa protokol git untuk situs github publik tanpa autentikasi saat masih bekerja dalam jaringan perusahaan dan repositori GitHub pribadi kami

VonC Aug 25 2020 at 11:41

Tip yang bagus untuk menghasut pembantu kredensial untuk meminta kredensial Anda dengan login yang benar adalah dengan menambahkan login tersebut ke URL GitHub Anda:

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

Dan pastikan Anda telah menghapus entri GitHub apa pun dari OSX Keychain

Maka itu akan meminta kata sandi Anda.