Ủy quyền OAuth thực chất là gì
Khi bạn nhấn “Authorize” trên một ứng dụng bên thứ ba, GitHub ghi nhận một khoản cấp: ứng dụng giờ có thể hành động thay bạn trong phạm vi quyền bạn đã phê duyệt. Khoản cấp đó không phải phiên trình duyệt của bạn, không phải khóa SSH, và không phải GitHub App đã cài đặt với cài đặt riêng của nó. Mỗi loại được thu hồi hoặc gỡ bỏ ở một nơi khác nhau, nên bước đầu tiên là xác định bạn đang nhìn vào loại quyền truy cập nào.
| Những gì bạn thấy | Đó là gì | Quản lý ở đâu |
|---|---|---|
| Ứng dụng bên thứ ba được liệt kê với các phạm vi bạn đã phê duyệt | Ủy quyền OAuth | Settings → Applications → Authorized OAuth Apps |
| Cặp khóa bạn đã thêm cho Git qua SSH | Khóa SSH | Settings → SSH and GPG keys |
| Bạn đang đăng nhập trong trình duyệt này | Phiên đăng nhập | Đăng xuất, hoặc trang phiên |
| Ứng dụng được cài trên một kho lưu trữ hoặc tổ chức | Cài đặt GitHub App | Cài đặt cài đặt của ứng dụng hoặc tổ chức |
Nếu mục bạn đang xem không phải ủy quyền OAuth, thu hồi nó từ danh sách OAuth sẽ không giải quyết được.
Vì sao nên xem xét trước khi thu hồi
Một ủy quyền cũ có thể vẫn đang làm việc bạn dựa vào, chẳng hạn công cụ triển khai, plugin trình soạn thảo hoặc tích hợp CI. Thu hồi sẽ cắt quyền truy cập của ứng dụng đó qua khoản cấp, đó chính là mục đích, nhưng cũng có thể làm hỏng quy trình vẫn phụ thuộc vào nó. Hãy xem tên ứng dụng, các quyền được liệt kê và lần cuối bạn dùng nó trước khi hành động.
GitHub khuyến nghị xem xét các ứng dụng đã ủy quyền, bao gồm ứng dụng có quyền truy cập kho lưu trữ riêng tư. Nguồn
Nếu bạn không nhận ra ứng dụng, hoặc quyền nó nắm giữ rộng hơn nhiệm vụ nó thực hiện, đó là trường hợp nên thu hồi. Nếu bạn nhận ra nó và vẫn dùng, hãy cân nhắc liệu các phạm vi hiện tại có còn phù hợp trước khi quyết định.
Danh sách kiểm tra trước và sau
Dùng mục này như một ghi chép ngắn để bạn biết điều gì đã thay đổi và hoàn tác sai sót nếu cần.
Trước khi thu hồi
- Ghi lại tên ứng dụng và các quyền hiển thị cho nó, để sau này nhận ra đúng mục đó.
- Kiểm tra xem có thứ gì bạn đang dùng phụ thuộc vào ứng dụng đó không: một bản build, một lần triển khai, đăng nhập trình soạn thảo, một tác vụ theo lịch.
- Xác nhận bạn đang xem Authorized OAuth Apps chứ không phải khóa SSH, phiên hay ứng dụng đã cài.
- Quyết định bạn muốn thu hồi một ủy quyền cụ thể hay tất cả.
Sau khi thu hồi
- Tải lại trang Authorized OAuth Apps và xác nhận mục đó đã biến mất.
- Chạy quy trình từng dùng ứng dụng một lần, và ghi nhận liệu nó có yêu cầu bạn ủy quyền lại không. Lời nhắc đó là dấu hiệu mong đợi rằng khoản cấp đã bị gỡ.
- Nếu một quy trình bị hỏng và bạn vẫn cần nó, hãy ủy quyền lại một cách có chủ đích và xem xét các phạm vi nó yêu cầu.
- Giữ phương thức khôi phục tài khoản của bạn cho đến khi chắc chắn không còn gì khác phụ thuộc vào quyền truy cập đã thu hồi.
Cách thu hồi ủy quyền
Mở Settings tài khoản, Applications trong Integrations, rồi Authorized OAuth Apps để xem xét quyền truy cập. Nguồn
Từ danh sách, mở menu cho ứng dụng cụ thể bạn muốn gỡ.
Một ủy quyền không nhận ra hoặc đã lỗi thời có thể được thu hồi từ menu ứng dụng; trang cũng có tùy chọn Revoke all. Nguồn
Thu hồi một mục khi bạn chỉ muốn gỡ một ứng dụng. Tùy chọn Revoke all dành cho khi bạn đã xem xét danh sách và muốn xóa mọi ủy quyền; nó sẽ ảnh hưởng đến mọi ứng dụng trên trang đó, không chỉ ứng dụng bạn đang xem.
Ranh giới thất bại cần lưu ý
- Thu hồi không phải xóa. Gỡ khoản cấp chặn quyền truy cập trong tương lai qua nó. Nó không gỡ dữ liệu ứng dụng đã lưu hoặc sao chép ra ngoài GitHub, và không đảm bảo xóa bỏ.
- Thu hồi không phải đăng xuất. Phiên trình duyệt của bạn trên GitHub là riêng biệt; thu hồi ứng dụng không đăng xuất bạn, và đăng xuất không thu hồi ủy quyền ứng dụng.
- Khóa SSH không phải ứng dụng OAuth. Nếu quyền truy cập bạn lo lắng là một khóa, việc gỡ nó diễn ra trong cài đặt SSH and GPG keys, không phải Authorized OAuth Apps.
- GitHub App đã cài không phải cùng một mục. Quyền truy cập cấp cài đặt được quản lý nơi ứng dụng được cài, nên kiểm tra ở đó nếu ứng dụng không xuất hiện trong danh sách OAuth.
- Trùng tên người dùng công khai không phải bằng chứng. Nếu bạn đang kiểm tra xem một handle có xuất hiện ở nơi khác không, một kết quả trùng trên hồ sơ công khai chỉ là manh mối, không phải bằng chứng sở hữu. TraceSeek có thể tra cứu tên người dùng công khai đã biết trên 3.000+ nền tảng, nhưng không thể xem xét hay thu hồi cài đặt GitHub thay bạn.
Khi nào coi một ủy quyền là đáng ngờ
Bạn không cần một câu chuyện kịch tính để hành động. Các dấu hiệu thực tế là: bạn không nhận ra ứng dụng, quyền rộng hơn nhiệm vụ nó thực hiện, hoặc bạn không nhớ đã ủy quyền nó. Trong những trường hợp đó, thu hồi đúng mục là bước hợp lý, sau đó kiểm tra xem có thứ gì bạn dựa vào bị ngừng hoạt động không. Nếu một quy trình thực sự bị hỏng, chỉ ủy quyền lại sau khi xác nhận ứng dụng đúng là ứng dụng bạn mong đợi và các phạm vi khớp với nhu cầu của nó.