अस्थायी शटडाउन पीछे पहुँच क्यों छोड़ सकता है
जब आपको किसी इंटीग्रेशन को जल्दी से रोकना हो, तो स्पष्ट कदम उसे सस्पेंड या अनइंस्टॉल करना है। यह इंस्टॉलेशन पक्ष को संभालता है। यह स्वचालित रूप से प्राधिकरण पक्ष को नहीं संभालता, जो एक अलग अनुदान है जिसका स्वामी अलग है।
किसी इंस्टॉल किए गए GitHub App को सस्पेंड करना उस इंस्टॉलेशन खाते के स्वामित्व वाले संसाधनों तक पहुँच को अस्थायी रूप से रोकता है। स्रोत
यह अंतर मायने रखता है क्योंकि एक GitHub App एक साथ दो प्रकार की पहुँच रख सकता है: किसी खाते के संसाधनों तक इंस्टॉलेशन पहुँच, और किसी व्यक्ति की ओर से कार्य करने का उपयोगकर्ता प्राधिकरण। एक को रोकना दूसरे को नहीं रोकता।
सस्पेंशन किसी ऐप के उपयोगकर्ता की ओर से कार्य करने के अलग प्राधिकरण को नहीं हटाता। स्रोत
इंस्टॉलेशन पहुँच बनाम उपयोगकर्ता प्राधिकरण
यह तालिका यह तय करने के लिए उपयोग करें कि आपको वास्तव में कौन सी सतह बदलनी है।
| आप क्या रोकना चाहते हैं | जाँचने की सतह | सस्पेंशन क्या करता है | यह क्या नहीं करता |
|---|---|---|---|
| ऐप का इंस्टॉल करने वाले खाते के स्वामित्व वाले संसाधनों तक पहुँचना | उस खाते पर इंस्टॉलेशन | उस इंस्टॉलेशन की पहुँच को अस्थायी रूप से रोकता है | उपयोगकर्ता प्राधिकरण को नहीं हटाता |
| ऐप का किसी व्यक्ति की ओर से कार्य करना | उस उपयोगकर्ता के लिए Authorized GitHub Apps | अपने आप में कुछ नहीं | उपयोगकर्ता-स्तरीय प्राधिकरण को नहीं रोकता |
| एक खाते के लिए दोनों | दोनों सतहें | केवल इंस्टॉलेशन पक्ष को कवर करता है | दूसरे अनुदान को यथावत छोड़ देता है |
GitHub App कोई सक्रिय ब्राउज़र सत्र नहीं है जिसे आप बस लॉग आउट कर सकें। इंस्टॉलेशन को सस्पेंड करना संसाधनों पर खाता-स्तरीय नियंत्रण है; डी-ऑथराइज़ेशन प्रत्यायोजित कार्रवाई पर उपयोगकर्ता-स्तरीय नियंत्रण है। इन्हें अलग-अलग प्रबंधित किया जाता है और अलग-अलग सत्यापित किया जाना चाहिए।
अस्थायी शटडाउन के लिए एक व्यावहारिक चेकलिस्ट
- पहले लक्ष्य तय करें। तय करें कि आप ऐप की किसी खाते के संसाधनों तक पहुँच रोक रहे हैं, उसे किसी उपयोगकर्ता की ओर से कार्य करने से रोक रहे हैं, या दोनों। उत्तर यह निर्धारित करता है कि आप किस सतह को छूते हैं।
- इंस्टॉलेशन को संभालें। उस खाते पर इंस्टॉलेशन को सस्पेंड करें जो उन संसाधनों का स्वामी है जिन्हें आप सुरक्षित रखना चाहते हैं। इसे अस्थायी और प्रतिवर्ती मानें।
- उपयोगकर्ता पक्ष को अलग से जाँचें। यदि ऐप को आपकी ओर से कार्य करने के लिए अधिकृत किया गया था और आप उसे रोकना चाहते हैं, तो Authorized GitHub Apps पर जाएँ और वहाँ इसे डी-ऑथराइज़ करें। यह न मानें कि सस्पेंशन ने इसे कवर किया।
- रिकॉर्ड करें कि आपने क्या बदला और कहाँ। नोट करें कि आपने किस खाते का इंस्टॉलेशन सस्पेंड किया और कौन सा उपयोगकर्ता प्राधिकरण, यदि कोई, हटाया। यह बाद की सफाई को दोनों में से एक को चूकने से रोकता है।
- जानबूझकर उलटें। यदि रोक अस्थायी थी, तो इंस्टॉलेशन को तभी फिर से सक्षम करें जब आप पुष्टि कर लें कि उपयोगकर्ता प्राधिकरण को भी बहाल किया जाना चाहिए या नहीं।
अनइंस्टॉल करना सस्पेंड करने से अधिक मजबूत है, लेकिन फिर भी सीमित है
यदि अस्थायी रोक पर्याप्त नहीं है और आप इंस्टॉलेशन हटाना चाहते हैं, तो अनइंस्टॉल करना इंस्टॉलेशन पक्ष की अधिक मजबूत कार्रवाई है। यह अपने आप उपयोगकर्ता प्राधिकरण तक नहीं पहुँचता।
अनइंस्टॉल करना उस खाते की इंस्टॉलेशन पहुँच को हटाता है; Authorized GitHub Apps में डी-ऑथराइज़ेशन एक अलग कार्रवाई है जब स्वामी उसे अपनी ओर से कार्य करने से रोकना चाहता है। स्रोत
व्यावहारिक परिणाम: अनइंस्टॉल करने के बाद, यदि स्वामी यह भी चाहता है कि ऐप उनकी ओर से कार्य करना बंद करे, तो Authorized GitHub Apps जाँचें। एक कनेक्शन हटाना इस बात का प्रमाण नहीं है कि दूसरा चला गया है, और जो ऐप एक जगह से गायब हो गया है वह अभी भी दूसरा अनुदान रख सकता है।
सामान्य विफलता पथ
- सस्पेंशन को पूर्ण रद्दीकरण मानना। यह केवल इंस्टॉलेशन की संसाधन पहुँच को रोकता है। उपयोगकर्ता प्राधिकरण तब तक बना रहता है जब तक आप उसे संबोधित नहीं करते।
- डी-ऑथराइज़ेशन को अनइंस्टॉलेशन मानना। डी-ऑथराइज़ करना ऐप को आपकी ओर से कार्य करने से रोकता है, लेकिन किसी खाते पर इंस्टॉलेशन बना रह सकता है। तय करें कि आपके शटडाउन के लिए वास्तव में कौन सा आवश्यक है।
- एक खाते की सफाई करना और दूसरे को भूल जाना। इंस्टॉलेशन खातों के होते हैं; प्राधिकरण उपयोगकर्ताओं के होते हैं। जो शटडाउन योजना केवल एक सतह का नाम लेती है, वह आमतौर पर दूसरे को अछूता छोड़ देगी।
- बहुत जल्दी फिर से सक्षम करना। यदि आपने अनइंस्टॉल करने के बजाय सस्पेंड किया है, तो इंस्टॉलेशन को बहाल करने से उपयोगकर्ता पक्ष की समीक्षा करने से पहले संसाधन पहुँच बहाल हो सकती है।
इसे पूरा मानने से पहले दोनों सतहों का सत्यापन
शटडाउन तभी पूरा होता है जब आपके द्वारा बदली जाने वाली प्रत्येक सतह की उसके अपने मानदंडों पर जाँच की गई हो। स्वामी खाते पर इंस्टॉलेशन स्थिति की पुष्टि करें, फिर संबंधित उपयोगकर्ता के लिए Authorized GitHub Apps के अंतर्गत प्राधिकरण स्थिति की पुष्टि करें। एक से दूसरे का अनुमान न लगाएँ, और ऐप को लॉग आउट हुआ न कहें — यह कभी ब्राउज़र सत्र था ही नहीं।
यदि आपका अगला कार्य पुराने OAuth अनुदान को हटाना है और आप उसे लॉगिन सत्रों से अलग रखना चाहते हैं, तो पुराने GitHub OAuth ऐप को लॉगिन सत्र से भ्रमित किए बिना रद्द करने पर संबंधित गाइड उस अलग सफाई चरण को कवर करता है।