Lewati ke isi

Setup Personal Access Token

Personal Access Token (PAT) adalah metode autentikasi yang direkomendasikan untuk mengakses GitHub dari terminal. Token ini lebih aman daripada password dan dapat dikustomisasi aksesnya.

๐Ÿ” Membuat Personal Access Token

1. Masuk ke GitHub Settings

  1. Login ke github.com
  2. Klik foto profil โ†’ Settings
  3. Di sidebar kiri, scroll ke bawah dan klik Developer settings
  4. Klik Personal access tokens โ†’ Tokens (classic)

2. Generate New Token

  1. Klik Generate new token โ†’ Generate new token (classic)
  2. Isi form berikut:
Field Value Keterangan
Note Terminal Access Nama untuk mengidentifikasi token
Expiration 90 days atau No expiration Masa berlaku token

3. Pilih Scopes (Permissions)

Centang permission berikut sesuai kebutuhan:

โœ… Wajib untuk Git Operations:

  • repo - Full control of private repositories
  • workflow - Update GitHub Action workflows

โœ… Opsional:

  • write:packages - Upload packages to GitHub Package Registry
  • delete:packages - Delete packages from GitHub Package Registry
  • notifications - Access notifications
  • user - Update user profile information
  • read:org - Read org and team membership
  • gist - Create gists

Penting

Minimal centang repo untuk bisa melakukan push/pull repository.

4. Generate Token

  1. Klik Generate token
  2. PENTING: Copy token yang muncul dan simpan dengan aman
  3. Token hanya ditampilkan sekali - jika hilang harus buat yang baru

Contoh token:

ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

โš™๏ธ Konfigurasi Token di Terminal

# Set credential helper untuk menyimpan token
git config --global credential.helper store

# Clone repository pertama kali (akan diminta username dan token)
git clone https://github.com/salman-mustapa/repository-name.git

# Saat diminta:
# Username: salman-mustapa
# Password: [paste token di sini]

Token akan tersimpan di ~/.git-credentials dan tidak perlu diinput lagi.

Metode 2: Environment Variable

# Set token sebagai environment variable
export GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

# Tambahkan ke ~/.bashrc agar permanen
echo 'export GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' >> ~/.bashrc
source ~/.bashrc

Metode 3: URL dengan Token

# Clone dengan token di URL
git clone https://salman-mustapa:ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx@github.com/salman-mustapa/repository-name.git

# Set remote dengan token
git remote set-url origin https://salman-mustapa:ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx@github.com/salman-mustapa/repository-name.git

Keamanan

Metode 3 tidak direkomendasikan karena token akan tersimpan dalam history command dan konfigurasi Git.

๐Ÿงช Test Autentikasi

Test dengan API

# Test token dengan GitHub API
curl -H "Authorization: token $GITHUB_TOKEN" https://api.github.com/user

Output yang diharapkan:

{
  "login": "salman-mustapa",
  "id": 224708415,
  "name": "Salman Mustapa",
  "email": "salmanmustapa@outlook.com"
}

Test dengan Git Operations

# Test clone repository
git clone https://github.com/salman-mustapa/test-repo.git

# Test push (buat file test)
cd test-repo
echo "# Test" > test.md
git add test.md
git commit -m "Test commit"
git push origin main

๐Ÿ”„ Update dan Management Token

Melihat Token yang Ada

Di GitHub โ†’ Settings โ†’ Developer settings โ†’ Personal access tokens

Update Token

  1. Klik token yang ada
  2. Klik Regenerate token
  3. Update expiration date jika perlu
  4. Copy token baru dan update di terminal

Revoke Token

Jika token tidak digunakan atau keamanan terganggu:

  1. Di GitHub, klik token yang ingin dihapus
  2. Klik Delete
  3. Konfirmasi dengan klik I understand, delete this token

๐Ÿ“‹ Contoh Konfigurasi Lengkap

Berikut contoh setup lengkap dengan token:

# 1. Set identitas Git
git config --global user.name "Salman Mustapa"
git config --global user.email "salmanmustapa@outlook.com"

# 2. Set credential helper
git config --global credential.helper store

# 3. Set environment variable (opsional)
export GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

# 4. Test dengan clone repository
git clone https://github.com/salman-mustapa/my-project.git

# 5. Saat pertama kali push, input:
# Username: salman-mustapa
# Password: [paste token]

โŒ Troubleshooting

Token Tidak Valid

Error: remote: Invalid username or password

Solusi: 1. Pastikan token masih valid (belum expired) 2. Cek scope permissions - minimal harus ada repo 3. Pastikan username benar

Token Expired

Error: remote: Invalid username or password setelah sekian waktu

Solusi: 1. Generate token baru di GitHub 2. Update token di terminal:

# Hapus credentials lama
git config --global --unset credential.helper
rm ~/.git-credentials

# Set ulang credential helper
git config --global credential.helper store

Permission Denied

Error: remote: Permission to repo denied

Solusi: 1. Pastikan Anda adalah owner/collaborator repository 2. Cek scope token - pastikan ada repo permission 3. Untuk organization repo, mungkin perlu read:org scope

๐Ÿ”’ Best Practices

  1. Gunakan expiration date - Set masa berlaku token (3-6 bulan)
  2. Minimal permissions - Hanya berikan scope yang diperlukan
  3. Simpan dengan aman - Jangan commit token ke repository
  4. Revoke unused tokens - Hapus token yang tidak digunakan
  5. Monitor activity - Cek aktivitas token secara berkala

โœ… Langkah Selanjutnya

Setelah token dikonfigurasi:


Token Siap!

Personal Access Token Anda sudah dikonfigurasi! Sekarang Anda bisa melakukan semua operasi Git dengan aman.