Mengapa penghentian sementara bisa menyisakan akses
Saat Anda perlu menjeda integrasi dengan cepat, langkah yang jelas adalah menangguhkan atau meng-uninstalnya. Itu menangani sisi instalasi. Namun tidak otomatis menangani sisi otorisasi, yang merupakan pemberian izin berbeda dengan pemilik berbeda.
Menangguhkan GitHub App yang terpasang untuk sementara memblokir akses ke sumber daya milik akun instalasi tersebut. Sumber
Perbedaan ini penting karena GitHub App dapat memegang dua jenis akses sekaligus: akses instalasi ke sumber daya akun, dan otorisasi pengguna untuk bertindak atas nama seseorang. Menjeda salah satu tidak menjeda yang lain.
Penangguhan tidak menghapus otorisasi terpisah bagi aplikasi untuk bertindak atas nama pengguna. Sumber
Akses instalasi versus otorisasi pengguna
Gunakan tabel ini untuk memutuskan sisi mana yang sebenarnya perlu Anda ubah.
| Yang ingin Anda hentikan | Sisi yang perlu diperiksa | Apa yang dilakukan penangguhan | Apa yang tidak dilakukannya |
|---|---|---|---|
| Aplikasi menjangkau sumber daya milik akun yang memasang | Instalasi pada akun tersebut | Memblokir sementara akses instalasi itu | Menghapus otorisasi pengguna |
| Aplikasi bertindak atas nama seseorang | Authorized GitHub Apps untuk pengguna tersebut | Tidak melakukan apa pun dengan sendirinya | Menghentikan otorisasi tingkat pengguna |
| Keduanya, untuk satu akun | Kedua sisi | Hanya mencakup sisi instalasi | Membiarkan pemberian izin lainnya tetap ada |
GitHub App bukan sesi browser aktif yang bisa Anda logout begitu saja. Menangguhkan instalasi adalah kontrol tingkat akun atas sumber daya; de-otorisasi adalah kontrol tingkat pengguna atas tindakan yang didelegasikan. Keduanya dikelola secara terpisah dan harus diverifikasi secara terpisah.
Daftar periksa praktis untuk penghentian sementara
- Tentukan tujuan terlebih dahulu. Putuskan apakah Anda menjeda jangkauan aplikasi ke sumber daya akun, menghentikannya bertindak atas nama pengguna, atau keduanya. Jawabannya menentukan sisi mana yang Anda sentuh.
- Tangani instalasi. Tangguhkan instalasi pada akun yang memiliki sumber daya yang ingin Anda lindungi. Anggap ini sebagai tindakan sementara dan dapat dibalik.
- Periksa sisi pengguna secara terpisah. Jika aplikasi diotorisasi untuk bertindak atas nama Anda dan Anda ingin menghentikannya, buka Authorized GitHub Apps dan lakukan de-otorisasi di sana. Jangan berasumsi penangguhan sudah mencakup ini.
- Catat apa yang Anda ubah dan di mana. Catat instalasi akun mana yang Anda tangguhkan dan otorisasi pengguna mana, jika ada, yang Anda hapus. Ini mencegah pembersihan nanti melewatkan salah satu dari keduanya.
- Balikkan dengan sengaja. Jika jeda bersifat sementara, aktifkan kembali instalasi hanya setelah Anda memastikan apakah otorisasi pengguna juga harus dipulihkan.
Meng-uninstal lebih kuat daripada menangguhkan, tetapi tetap terbatas cakupannya
Jika jeda sementara tidak cukup dan Anda ingin instalasi hilang, meng-uninstal adalah tindakan sisi instalasi yang lebih kuat. Itu tetap tidak menjangkau otorisasi pengguna dengan sendirinya.
Meng-uninstal menghapus akses instalasi akun tersebut; de-otorisasi di Authorized GitHub Apps adalah tindakan terpisah ketika pemilik ingin menghentikannya bertindak atas nama mereka. Sumber
Konsekuensi praktisnya: setelah meng-uninstal, periksa Authorized GitHub Apps jika pemilik juga ingin aplikasi berhenti bertindak atas nama mereka. Menghapus satu koneksi bukan bukti bahwa yang lain sudah hilang, dan aplikasi yang tidak lagi muncul di satu tempat mungkin masih memegang pemberian izin lainnya.
Jalur kegagalan umum
- Menganggap penangguhan sebagai pencabutan penuh. Itu hanya memblokir akses sumber daya instalasi. Otorisasi pengguna tetap ada sampai Anda menanganinya.
- Menganggap de-otorisasi sebagai uninstalasi. De-otorisasi menghentikan aplikasi bertindak atas nama Anda, tetapi instalasi pada suatu akun bisa tetap ada. Putuskan mana yang sebenarnya dibutuhkan penghentian Anda.
- Membersihkan satu akun dan melupakan yang lain. Instalasi milik akun; otorisasi milik pengguna. Rencana penghentian yang hanya menyebut satu sisi biasanya akan membiarkan sisi lain tidak tersentuh.
- Mengaktifkan kembali terlalu dini. Jika Anda menangguhkan alih-alih meng-uninstal, memulihkan instalasi dapat memulihkan akses sumber daya sebelum Anda meninjau sisi pengguna.
Verifikasi kedua sisi sebelum menyatakan selesai
Penghentian selesai hanya ketika setiap sisi yang ingin Anda ubah telah diperiksa berdasarkan ketentuannya sendiri. Konfirmasikan status instalasi pada akun pemilik, lalu konfirmasikan status otorisasi di Authorized GitHub Apps untuk pengguna yang relevan. Jangan menyimpulkan satu dari yang lain, dan jangan menggambarkan aplikasi sebagai sudah logout — itu tidak pernah menjadi sesi browser.
Jika tugas Anda berikutnya adalah menghapus pemberian izin OAuth lama dan Anda ingin memisahkannya dari sesi login, panduan terkait tentang mencabut aplikasi OAuth GitHub lama tanpa mengacaukannya dengan sesi login membahas langkah pembersihan yang berbeda itu.