Dlaczego tymczasowe wyłączenie może pozostawić dostęp
Gdy musisz szybko wstrzymać integrację, oczywistym krokiem jest zawieszenie lub odinstalowanie jej. To załatwia stronę instalacji. Nie załatwia automatycznie strony autoryzacji, która jest innym uprawnieniem z innym właścicielem.
Zawieszenie zainstalowanej aplikacji GitHub tymczasowo blokuje dostęp do zasobów należących do tego konta instalacji. Źródło
To rozróżnienie ma znaczenie, ponieważ aplikacja GitHub może jednocześnie mieć dwa rodzaje dostępu: dostęp instalacji do zasobów konta oraz autoryzację użytkownika do działania w imieniu osoby. Wstrzymanie jednego nie wstrzymuje drugiego.
Zawieszenie nie usuwa osobnej autoryzacji aplikacji do działania w imieniu użytkownika. Źródło
Dostęp instalacji a autoryzacja użytkownika
Użyj tej tabeli, aby zdecydować, który obszar faktycznie musisz zmienić.
| Co chcesz zatrzymać | Obszar do sprawdzenia | Co robi zawieszenie | Czego nie robi |
|---|---|---|---|
| Aplikacja sięga do zasobów należących do konta instalującego | Instalacja na tym koncie | Tymczasowo blokuje dostęp tej instalacji | Nie usuwa autoryzacji użytkownika |
| Aplikacja działa w imieniu osoby | Autoryzowane aplikacje GitHub dla tego użytkownika | Nic sama w sobie | Nie zatrzymuje autoryzacji na poziomie użytkownika |
| Oba, dla jednego konta | Oba obszary | Obejmuje tylko stronę instalacji | Pozostawia drugie uprawnienie na miejscu |
Aplikacja GitHub to nie aktywna sesja przeglądarki, z której można po prostu się wylogować. Zawieszenie instalacji to kontrola na poziomie konta nad zasobami; odebranie autoryzacji to kontrola na poziomie użytkownika nad delegowanym działaniem. Są zarządzane osobno i należy je osobno weryfikować.
Praktyczna lista kontrolna tymczasowego wyłączenia
- Najpierw nazwij cel. Zdecyduj, czy wstrzymujesz dostęp aplikacji do zasobów konta, zatrzymujesz jej działanie w imieniu użytkownika, czy jedno i drugie. Odpowiedź określa, który obszar zmieniasz.
- Zajmij się instalacją. Zawieś instalację na koncie, które jest właścicielem zasobów, jakie chcesz chronić. Traktuj to jako tymczasowe i odwracalne.
- Sprawdź stronę użytkownika osobno. Jeśli aplikacja była autoryzowana do działania w Twoim imieniu i chcesz to zatrzymać, przejdź do Autoryzowane aplikacje GitHub i odbierz tam autoryzację. Nie zakładaj, że zawieszenie to objęło.
- Zapisz, co i gdzie zmieniłeś. Zanotuj, której instalacji na koncie nie zawiesiłeś oraz którą autoryzację użytkownika, jeśli w ogóle, usunąłeś. To zapobiega pominięciu jednego z dwóch obszarów podczas późniejszego porządkowania.
- Odwracaj świadomie. Jeśli przerwa była tymczasowa, włącz instalację ponownie dopiero po potwierdzeniu, czy autoryzacja użytkownika również powinna zostać przywrócona.
Odinstalowanie jest silniejsze niż zawieszenie, ale nadal ograniczone
Jeśli tymczasowa przerwa nie wystarcza i chcesz usunąć instalację, odinstalowanie jest silniejszą czynnością po stronie instalacji. Nadal samo w sobie nie sięga do autoryzacji użytkownika.
Odinstalowanie usuwa dostęp instalacji tego konta; odebranie autoryzacji w Autoryzowanych aplikacjach GitHub to osobna czynność, gdy właściciel chce zatrzymać działanie aplikacji w swoim imieniu. Źródło
Praktyczna konsekwencja: po odinstalowaniu sprawdź Autoryzowane aplikacje GitHub, jeśli właściciel chce również, aby aplikacja przestała działać w jego imieniu. Usunięcie jednego połączenia nie jest dowodem, że drugie zniknęło, a aplikacja, której nie ma już w jednym miejscu, może nadal mieć drugie uprawnienie.
Typowe ścieżki błędów
- Zakładanie, że zawieszenie to pełne odebranie. Blokuje tylko dostęp instalacji do zasobów. Autoryzacja użytkownika trwa, dopóki się nią nie zajmiesz.
- Traktowanie odebrania autoryzacji jako odinstalowania. Odebranie autoryzacji zatrzymuje działanie aplikacji w Twoim imieniu, ale instalacja na koncie może pozostać. Zdecyduj, którego z nich faktycznie wymaga Twoje wyłączenie.
- Porządkowanie jednego konta i zapominanie o drugim. Instalacje należą do kont, autoryzacje do użytkowników. Plan wyłączenia, który wymienia tylko jeden obszar, zwykle pozostawi drugi nietknięty.
- Zbyt wczesne ponowne włączenie. Jeśli zawiesiłeś, a nie odinstalowałeś, przywrócenie instalacji może przywrócić dostęp do zasobów, zanim sprawdzisz stronę użytkownika.
Weryfikacja obu obszarów przed uznaniem zadania za zakończone
Wyłączenie jest kompletne tylko wtedy, gdy każdy obszar, który zamierzałeś zmienić, został sprawdzony na własnych zasadach. Potwierdź stan instalacji na koncie właścicielskim, a następnie potwierdź stan autoryzacji w Autoryzowanych aplikacjach GitHub dla odpowiedniego użytkownika. Nie wnioskuj o jednym z drugiego i nie opisuj aplikacji jako wylogowanej — to nigdy nie była sesja przeglądarki.
Jeśli Twoim następnym zadaniem jest usunięcie starszego uprawnienia OAuth i chcesz oddzielić to od sesji logowania, powiązany przewodnik o odbieraniu starej aplikacji OAuth GitHub bez mylenia jej z sesją logowania opisuje ten inny krok porządkowania.