ทำไมการปิดชั่วคราวจึงอาจทิ้งการเข้าถึงไว้
เมื่อคุณต้องการหยุดการเชื่อมต่อชั่วคราว วิธีที่ชัดเจนคือการระงับหรือถอนการติดตั้ง ซึ่งจัดการฝั่งการติดตั้ง แต่ไม่ได้จัดการฝั่งสิทธิ์ผู้ใช้โดยอัตโนมัติ เพราะเป็นการให้สิทธิ์ที่แตกต่างกับเจ้าของที่แตกต่าง
การระงับ GitHub App ที่ติดตั้งไว้จะบล็อกการเข้าถึงทรัพยากรที่เป็นของบัญชีที่ติดตั้งนั้นชั่วคราว แหล่งที่มา
ความแตกต่างนี้สำคัญเพราะ GitHub App สามารถถือสิทธิ์สองประเภทพร้อมกันได้: สิทธิ์การติดตั้งต่อทรัพยากรของบัญชี และสิทธิ์ผู้ใช้ในการกระทำการในนามของบุคคล การหยุดอย่างหนึ่งไม่ได้หยุดอีกอย่าง
การระงับไม่ได้ลบสิทธิ์แยกต่างหากที่ให้แอปกระทำการในนามของผู้ใช้ แหล่งที่มา
สิทธิ์การติดตั้งเทียบกับสิทธิ์ผู้ใช้
ใช้ตารางนี้เพื่อตัดสินใจว่าคุณต้องเปลี่ยนส่วนใดจริง ๆ
| สิ่งที่คุณต้องการหยุด | ส่วนที่ต้องตรวจ | การระงับทำอะไร | สิ่งที่ไม่ได้ทำ |
|---|---|---|---|
| แอปเข้าถึงทรัพยากรที่เป็นของบัญชีที่ติดตั้ง | การติดตั้งบนบัญชีนั้น | บล็อกการเข้าถึงของการติดตั้งนั้นชั่วคราว | ลบสิทธิ์ผู้ใช้ |
| แอปกระทำการในนามของบุคคล | Authorized GitHub Apps สำหรับผู้ใช้นั้น | ไม่ทำอะไรด้วยตัวเอง | หยุดสิทธิ์ระดับผู้ใช้ |
| ทั้งสองอย่าง สำหรับบัญชีเดียว | ทั้งสองส่วน | ครอบคลุมเฉพาะฝั่งการติดตั้ง | ปล่อยสิทธิ์อีกส่วนไว้ |
GitHub App ไม่ใช่เซสชันเบราว์เซอร์ที่ใช้งานอยู่ซึ่งคุณออกจากระบบได้ง่าย ๆ การระงับการติดตั้งเป็นการควบคุมระดับบัญชีเหนือทรัพยากร ส่วนการเพิกถอนสิทธิ์เป็นการควบคุมระดับผู้ใช้เหนือการกระทำที่มอบหมาย ทั้งสองจัดการแยกกันและควรตรวจสอบแยกกัน
รายการตรวจสอบสำหรับการปิดชั่วคราว
- ระบุเป้าหมายก่อน ตัดสินใจว่าคุณกำลังหยุดการเข้าถึงทรัพยากรของบัญชี หยุดการกระทำในนามของผู้ใช้ หรือทั้งสองอย่าง คำตอบกำหนดว่าคุณต้องแตะส่วนใด
- จัดการการติดตั้ง ระงับการติดตั้งบนบัญชีที่เป็นเจ้าของทรัพยากรที่คุณต้องการปกป้อง ถือว่านี่เป็นชั่วคราวและย้อนกลับได้
- ตรวจฝั่งผู้ใช้แยกต่างหาก หากแอปได้รับสิทธิ์ให้กระทำการในนามของคุณและคุณต้องการหยุดสิ่งนั้น ให้ไปที่ Authorized GitHub Apps และเพิกถอนสิทธิ์ที่นั่น อย่าสันนิษฐานว่าการระงับครอบคลุมส่วนนี้
- บันทึกสิ่งที่คุณเปลี่ยนและที่ไหน จดบันทึกว่าคุณระงับการติดตั้งของบัญชีใด และลบสิทธิ์ผู้ใช้ใด (ถ้ามี) ซึ่งช่วยป้องกันการลืมอย่างใดอย่างหนึ่งในการล้างข้อมูลภายหลัง
- ย้อนกลับอย่างตั้งใจ หากการหยุดเป็นเพียงชั่วคราว ให้เปิดใช้งานการติดตั้งอีกครั้งหลังจากยืนยันแล้วว่าควรคืนสิทธิ์ผู้ใช้ด้วยหรือไม่
การถอนการติดตั้งแรงกว่าการระงับ แต่ยังมีขอบเขต
หากการหยุดชั่วคราวไม่เพียงพอและคุณต้องการให้การติดตั้งหายไป การถอนการติดตั้งเป็นการกระทำฝั่งการติดตั้งที่แรงกว่า แต่ก็ยังไม่ถึงสิทธิ์ผู้ใช้ด้วยตัวเอง
การถอนการติดตั้งจะลบสิทธิ์การติดตั้งของบัญชีนั้น ส่วนการเพิกถอนสิทธิ์ใน Authorized GitHub Apps เป็นการกระทำแยกเมื่อเจ้าของต้องการหยุดแอปกระทำการในนามของตน แหล่งที่มา
ผลในทางปฏิบัติ: หลังถอนการติดตั้ง ให้ตรวจ Authorized GitHub Apps หากเจ้าของต้องการให้แอปหยุดกระทำการในนามของตนด้วย การลบการเชื่อมต่อหนึ่งไม่ใช่หลักฐานว่าอีกอันหายไป และแอปที่ไม่อยู่ในที่หนึ่งอาจยังถือสิทธิ์อีกอันอยู่
เส้นทางความล้มเหลวที่พบบ่อย
- คิดว่าการระงับคือการเพิกถอนทั้งหมด มันบล็อกเฉพาะการเข้าถึงทรัพยากรของการติดตั้ง สิทธิ์ผู้ใช้ยังอยู่จนกว่าคุณจะจัดการ
- ถือว่าการเพิกถอนสิทธิ์คือการถอนการติดตั้ง การเพิกถอนสิทธิ์หยุดแอปกระทำการในนามของคุณ แต่การติดตั้งบนบัญชีอาจยังอยู่ ตัดสินใจว่าการปิดของคุณต้องการสิ่งใดจริง ๆ
- ล้างบัญชีหนึ่งแล้วลืมอีกบัญชี การติดตั้งเป็นของบัญชี สิทธิ์เป็นของผู้ใช้ แผนปิดที่ระบุเพียงส่วนเดียวมักทิ้งอีกส่วนไว้
- เปิดใช้งานเร็วเกินไป หากคุณระงับแทนที่จะถอนการติดตั้ง การคืนค่าการติดตั้งอาจคืนการเข้าถึงทรัพยากรก่อนที่คุณจะตรวจฝั่งผู้ใช้
ตรวจสอบทั้งสองส่วนก่อนถือว่าเสร็จ
การปิดจะสมบูรณ์ก็ต่อเมื่อแต่ละส่วนที่คุณตั้งใจเปลี่ยนได้รับการตรวจสอบตามเงื่อนไขของตัวเอง ยืนยันสถานะการติดตั้งบนบัญชีเจ้าของ แล้วยืนยันสถานะสิทธิ์ภายใต้ Authorized GitHub Apps สำหรับผู้ใช้ที่เกี่ยวข้อง อย่าอนุมานจากส่วนหนึ่งไปอีกส่วน และอย่าอธิบายว่าแอปออกจากระบบแล้ว เพราะมันไม่เคยเป็นเซสชันเบราว์เซอร์
หากงานถัดไปของคุณคือการลบสิทธิ์ OAuth เก่าและคุณต้องการแยกจากการเข้าสู่ระบบ คู่มือที่เกี่ยวข้องเกี่ยวกับการเพิกถอน GitHub OAuth app เก่าโดยไม่สับสนกับเซสชันการเข้าสู่ระบบครอบคลุมขั้นตอนการล้างข้อมูลที่แตกต่างกันนั้น