Personal access token GitHub: utwórz, użyj w Gicie, unieważnij | We.Inc
Wybierz token fine-grained lub classic za pomocą szybkiego testu, utwórz token, użyj go w git przez HTTPS, zapisz go w credential helperze i zarządzaj wygasaniem oraz unieważnianiem.
Personal access token zastępuje Twoje hasło do GitHuba, gdy git komunikuje się z GitHubem przez HTTPS lub gdy skrypt wywołuje API. Utwórz go w Settings, Developer settings, Personal access tokens, wybierz fine-grained, chyba że potrzebujesz funkcji dostępnej tylko w classic, i wklej go, gdy git poprosi o hasło.
Porównanie tokenów fine-grained i classic
Fine-grained
Classic
Zakres
Wybrane repozytoria z uprawnieniami dla poszczególnych obszarów
Szerokie zakresy we wszystkich repozytoriach, do których masz dostęp
Zalecenie GitHuba
Używaj domyślnie
Tylko gdy fine-grained nie wystarcza
Publiczne repozytoria, których nie jesteś członkiem
Nie można współtworzyć
Można zapisywać
Kilka organizacji w jednym tokenie
Nie
Tak
Packages i Checks API
Nieobsługiwane
Obsługiwane
Limit na konto
Dokumentacja nie podaje limitu
GitHub przestał akceptować hasła do kont dla gita przez HTTPS, więc klonowanie prywatnego repozytorium lub wypychanie zmian z serwera wymaga tokenu, klucza SSH lub menedżera poświadczeń. Ta strona pomaga wybrać typ tokenu, pokazuje, gdzie go utworzyć, i wyjaśnia bezpieczniejsze sposoby przechowywania go na komputerze zamiast wklejania za każdym razem.
Odpowiedz na pytania w teście, aby sprawdzić, czy token fine-grained obejmuje Twój przypadek.
Kliknij swoje zdjęcie profilowe, a potem Settings, Developer settings, Personal access tokens, i wybierz typ zaproponowany przez test.
Ustaw datę wygaśnięcia, wybierz repozytoria i uprawnienia, wygeneruj token i od razu go skopiuj; GitHub pokazuje go tylko przy tworzeniu.
Użyj go jako hasła dla gita przez HTTPS albo, lepiej, zaloguj się raz przez GitHub CLI lub Git Credential Manager, aby był przechowywany za Ciebie.
Daj każdemu tokenowi jedno zadanie i jak najmniej repozytoriów oraz uprawnień potrzebnych do tego zadania, aby wyciek odsłonił jak najmniej.
Zawsze ustawiaj datę wygaśnięcia. Przypomnienie w kalendarzu przed terminem jest lepsze niż zepsute wdrożenie w piątek.
Nigdy nie umieszczaj tokenu w repozytorium ani w gist. GitHub unieważnia tokeny, które znajdzie wypchnięte do publicznych repozytoriów, a w prywatnych to nadal wyciek.
Na serwerach i w CI zamiast osobistego tokenu powiązanego z Twoim kontem wybieraj klucze wdrożeniowe lub krótkotrwałe poświadczenia samej platformy.
Najczęściej zadawane pytania
Dlaczego git mówi, że uwierzytelnianie hasłem nie jest obsługiwane?
GitHub nie akceptuje już hasła do konta dla gita przez HTTPS. Gdy git poprosi o hasło, wklej zamiast niego personal access token albo przejdź na SSH, GitHub CLI lub Git Credential Manager.
Jakich uprawnień potrzebuje token fine-grained, aby wypychać kod?
Wybierz repozytoria, a następnie w uprawnieniach repozytorium ustaw Contents na odczyt i zapis. Dodawaj inne uprawnienia tylko wtedy, gdy potrzebuje ich skrypt, na przykład Pull requests lub Issues.
Czy personal access tokeny wygasają?
Datę wygaśnięcia wybierasz przy tworzeniu, a organizacje mogą wymusić maksymalny okres. Niezależnie od tego GitHub automatycznie unieważnia personal access token, który nie był używany przez rok.
Jak unieważnić token?
Przejdź do Settings, Developer settings, Personal access tokens, otwórz token i go usuń. Każde zdalne repozytorium gita lub skrypt, który go używa, natychmiast przestaje działać, więc zastąp go wszędzie tam, gdzie był zapisany.
Używać tokenu czy SSH?
Oba działają z gitem. Klucze SSH nigdy nie wygasają, dopóki ich nie usuniesz, i dobrze sprawdzają się na Twoim własnym komputerze. Tokeny pasują do sieci dopuszczających tylko HTTPS, skryptów, które wywołują też API, oraz sytuacji, w których chcesz automatycznego wygasania.
Przechowywanie tokenu zamiast wklejania
GitHub sam radzi, aby uwierzytelnianie powierzyć GitHub CLI lub Git Credential Manager. Uruchom gh auth login, wybierz HTTPS, a od tej pory polecenia git są uwierzytelniane bez tokenu w schowku.
Git Credential Manager jest dołączony do Git for Windows i można go zainstalować na macOS i Linuksie. Przechowuje poświadczenia w bezpiecznym magazynie systemu i obsługuje logowanie dwuskładnikowe przez przeglądarkę.
Organizacje mogą wymagać zatwierdzania tokenów
Organizacja może wymagać zatwierdzania tokenów fine-grained, ograniczać je lub blokować tokeny classic. Jeśli Twój token działa w osobistych repozytoriach, ale nie w firmowych, zapytaj właściciela organizacji o obowiązujące zasady.
Używanie tokenu z gitem
Zaloguj się raz przez GitHub CLI
Wybierz GitHub.com, potem HTTPS, a następnie zaloguj się przez przeglądarkę. CLI konfiguruje gita tak, aby używał zapisanego poświadczenia.
Wklej token, gdy git poprosi o hasło
Wpisz swoją nazwę użytkownika GitHub, a następnie wklej token jako hasło. Credential helper może go potem zapisać.
Użyj tokenu w skrypcie bez zapisywania go na dysku
Odczytuj token ze zmiennej środowiskowej, aby nigdy nie pojawił się w pliku skryptu ani w zdalnym adresie URL repozytorium.
Współtworzenie publicznego repozytorium, którego nie jestem członkiem
Praca na repozytoriach organizacji jako zewnętrzny współpracownik
Dostęp do repozytoriów w kilku organizacjach jednym tokenem
Korzystanie z GitHub Packages
Korzystanie z Checks API
Jakiego typu tokenu potrzebuję?
Zaznacz wszystko, co token ma robić:
Token fine-grained to obejmuje. GitHub zaleca go jako domyślny.
Potrzebujesz tokenu classic do: {v}. Nadaj mu najwęższe zakresy i datę wygaśnięcia.
Gdzie go utworzyć
Settings > Developer settings > Personal access tokens > Fine-grained tokens > Generate new token
Settings > Developer settings > Personal access tokens > Tokens (classic) > Generate new token