Apa sebenarnya otorisasi OAuth itu
Saat Anda mengklik “Authorize” pada aplikasi pihak ketiga, GitHub mencatat sebuah izin: aplikasi kini dapat bertindak atas nama Anda dalam batas izin yang Anda setujui. Izin itu bukan sesi browser Anda, bukan kunci SSH, dan bukan GitHub App terpasang dengan pengaturan instalasinya sendiri. Masing-masing dicabut atau dihapus di tempat berbeda, jadi langkah pertama adalah mengidentifikasi jenis akses mana yang sebenarnya Anda lihat.
| Yang Anda lihat | Apa itu | Di mana dikelola |
|---|---|---|
| Aplikasi pihak ketiga terdaftar dengan cakupan yang Anda setujui | Otorisasi OAuth | Settings → Applications → Authorized OAuth Apps |
| Pasangan kunci yang Anda tambahkan untuk Git melalui SSH | Kunci SSH | Settings → SSH and GPG keys |
| Anda sedang login di browser ini | Sesi login | Keluar, atau halaman sesi |
| Aplikasi yang terpasang di repositori atau organisasi | Instalasi GitHub App | Pengaturan instalasi aplikasi atau organisasi |
Jika entri yang Anda lihat bukan otorisasi OAuth, mencabutnya dari daftar OAuth tidak akan menyelesaikannya.
Mengapa meninjau sebelum mencabut
Otorisasi lama mungkin masih melakukan sesuatu yang Anda andalkan, seperti alat deployment, plugin editor, atau integrasi CI. Mencabutnya memutus akses aplikasi melalui izin tersebut, yang memang tujuannya, tetapi juga bisa merusak alur kerja yang masih bergantung padanya. Tinjau nama aplikasi, izin yang terdaftar, dan kapan terakhir Anda menggunakannya sebelum bertindak.
GitHub merekomendasikan peninjauan aplikasi yang diotorisasi, termasuk aplikasi dengan akses ke repositori privat. Sumber
Jika Anda tidak mengenali aplikasi tersebut, atau akses yang dimilikinya lebih luas daripada tugas yang dijalankannya, itulah kasus untuk mencabutnya. Jika Anda mengenalinya dan masih menggunakannya, pertimbangkan apakah cakupan saat ini masih sesuai sebelum memutuskan.
Daftar periksa sebelum dan sesudah
Gunakan ini sebagai catatan singkat agar Anda tahu apa yang berubah dan bisa membatalkan kesalahan jika perlu.
Sebelum mencabut
- Catat nama aplikasi dan izin yang ditampilkan, agar Anda dapat mengenali entri yang sama nanti.
- Periksa apakah ada yang sedang Anda gunakan bergantung pada aplikasi itu: build, deploy, login editor, tugas terjadwal.
- Pastikan Anda melihat Authorized OAuth Apps dan bukan kunci SSH, sesi, atau aplikasi terpasang.
- Putuskan apakah Anda ingin mencabut satu otorisasi tertentu atau semuanya.
Setelah mencabut
- Muat ulang halaman Authorized OAuth Apps dan pastikan entri sudah hilang.
- Jalankan sekali alur kerja yang menggunakan aplikasi itu, dan catat apakah sekarang meminta Anda mengotorisasi ulang. Permintaan itu adalah tanda yang diharapkan bahwa izin telah dihapus.
- Jika alur kerja rusak dan Anda masih membutuhkannya, otorisasi ulang dengan sengaja dan tinjau cakupan yang diminta.
- Pertahankan metode pemulihan akun Anda sampai Anda yakin tidak ada hal lain yang bergantung pada akses yang dicabut.
Cara mencabut otorisasi
Buka Settings akun, Applications di bawah Integrations, lalu Authorized OAuth Apps untuk meninjau akses. Sumber
Dari daftar, buka menu untuk aplikasi spesifik yang ingin Anda hapus.
Otorisasi yang tidak dikenali atau sudah usang dapat dicabut dari menu aplikasi; halaman itu juga menawarkan Revoke all. Sumber
Cabut entri tunggal jika Anda hanya ingin menghapus satu aplikasi. Opsi Revoke all adalah untuk saat Anda telah meninjau daftar dan ingin menghapus semua otorisasi; ini akan memengaruhi setiap aplikasi di halaman itu, bukan hanya yang sedang Anda lihat.
Batasan kegagalan yang perlu diingat
- Mencabut bukan menghapus. Menghapus izin menghentikan akses di masa depan melalui izin itu. Ini tidak menghapus data yang sudah disimpan atau disalin aplikasi di luar GitHub, dan bukan jaminan penghapusan.
- Mencabut bukan keluar. Sesi browser Anda di GitHub terpisah; mencabut aplikasi tidak membuat Anda keluar, dan keluar tidak mencabut otorisasi aplikasi.
- Kunci SSH bukan aplikasi OAuth. Jika akses yang Anda khawatirkan adalah kunci, penghapusannya dilakukan di pengaturan SSH and GPG keys, bukan di Authorized OAuth Apps.
- GitHub App terpasang bukan entri yang sama. Akses tingkat instalasi dikelola di tempat aplikasi dipasang, jadi periksa di sana jika aplikasi tidak muncul di daftar OAuth.
- Kecocokan nama pengguna publik bukan bukti. Jika Anda memeriksa apakah sebuah handle muncul di tempat lain, kecocokan pada profil publik adalah petunjuk, bukan bukti kepemilikan. TraceSeek dapat mencari nama pengguna publik yang diketahui di 3.000+ platform, tetapi tidak dapat meninjau atau mencabut pengaturan GitHub untuk Anda.
Kapan menganggap otorisasi mencurigakan
Anda tidak perlu cerita dramatis untuk bertindak. Sinyal praktisnya adalah: Anda tidak mengenali aplikasi, izinnya lebih luas daripada tugas yang dijalankannya, atau Anda tidak ingat pernah mengotorisasinya. Dalam kasus itu, mencabut entri spesifik adalah langkah yang wajar, diikuti dengan memeriksa apakah ada yang Anda andalkan berhenti bekerja. Jika alur kerja memang rusak, otorisasi ulang hanya setelah memastikan aplikasi itu yang Anda harapkan dan cakupannya sesuai dengan kebutuhannya.