https://stackoverflow.com/a/7209263/1225328 से:रीफ्रेश टोकन के साथ अपने उपयोगकर्ताओं को सुरक्षित रूप से कैसे सुरक्षित रखें?
ताज़ा टोकन के विचार यह है कि अगर एक पहुँच टोकन समझौता किया है, क्योंकि यह कम रहता है, हमलावर सीमित विंडो जिसमें इसे दुरुपयोग करने के लिए किया है।
मुझे यह मिलता है, लेकिन अगर हमलावर रीफ्रेश टोकन तक पहुंचता है, तो वे एक नया लेख टोकन प्राप्त करने में सक्षम होंगे, क्या मैं गलत हूं? यह सिर्फ लंबे समय तक रहा टोकन सुरक्षा दोष को स्थगित करने लगता है ...
इस बात के संबंध में, आप एक ही जवाब में मिल जाएगा:
ताज़ा टोकन, अगर समझौता किया, बेकार हैं क्योंकि हमलावर एक्सेस टोकन प्राप्त करने के लिए क्रम में रीफ्रेश टोकन के अतिरिक्त क्लाइंट आईडी और गुप्त की आवश्यकता है।
फिर रीफ्रेश टोकन का उपयोग करने और बस इस्तीफा देने के बीच क्या अंतर है? और यदि आप नहीं चाहते हैं कि उपयोगकर्ता उन्हें दोबारा दोबारा पेश करना चाहते हैं तो आप क्लाइंट आईडी और गुप्त कैसे स्टोर करते हैं?
@FStephenQ के रूप में बताया, एक ताज़ा टोकन केवल एक बार इस्तेमाल किया जा सकता: एक हमलावर फिर एक नया प्रमाणीकरण टोकन प्राप्त करने में सक्षम एक अल्पकालिक एक हो जाएगा, लेकिन केवल एक बार, और। लेकिन फिर, एक बार जब आप पहले से इस्तेमाल करते हैं तो आप एक नया ताज़ा टोकन कैसे प्राप्त करते हैं? जब आप एक का उपयोग आप एक नया मिलता है, एक हमलावर तो भी उनके टोकन ताज़ा करने के लिए सक्षम हो जाएगा ...
वास्तविक सवाल यह है: कैसे रखने के लिए मेरी साइन इन उपयोगकर्ताओं? मेरे द्वारा उपयोग किए जाने वाले ऐप्स पर, मैंने साइन इन करने के बाद, मुझे फिर से साइन इन नहीं करना होगा: वे कैसे आगे बढ़ते हैं?
इन स्पष्टीकरणों के लिए धन्यवाद। लेकिन अभी भी एक मुद्दा है: चूंकि रीफ्रेश टोकन का उपयोग केवल एक बार किया जा सकता है, एक बार जब आप पहले से इस्तेमाल करते हैं तो आप एक नया ताज़ा टोकन कैसे प्राप्त करते हैं? यदि आप एक का उपयोग करते समय एक नया प्राप्त करते हैं, तो हमलावर भी उनके टोकन को रीफ्रेश करने में सक्षम होगा ... – sp00m
हमलावर को तब तक इंतजार करना होगा जब तक कि ऑउथ ठीक से लागू नहीं किया जाता है। और उपयोगकर्ता पुनः प्रमाणीकरण हमेशा टोकन ताज़ा ट्रम्प; जब कोई उपयोगकर्ता फिर से प्रमाणीकृत करता है, तो सर्वर (सभी) को पिछले सभी एक्सेस टोकन को अमान्य कर देना चाहिए और टोकन रीफ्रेश करना चाहिए (क्लाइंट प्रमाणीकरण अनुरोध करने के लिए) और टोकन की एक नई "श्रृंखला" शुरू करें। संयुक्त रूप से इन दो चीजों का मतलब यह है कि एक चोरी किए गए ताज़ा टोकन हमलावर के लिए बेकार हो सकते हैं, और हमलावरों के पास उपयोगकर्ता प्रमाण-पत्रों के बिना टोकन की अपनी समानांतर श्रृंखला नहीं हो सकती है। –
फिर से धन्यवाद, मुझे लगता है कि मुझे अब मिल गया है। लेकिन फिर एक और सवाल: यदि कोई उपयोगकर्ता ब्राउज़र के साथ साइन इन करता है, तो उसे एक्सेस टोकन और रीफ्रेश टोकन (# 1) मिल जाएगा।फिर, बाद में, उपयोगकर्ता किसी अन्य ब्राउज़र (# 2, जैसे काम पर) के साथ साइन इन करता है, और उसका टोकन # 2 रीफ्रेश करता है (क्योंकि यह उदाहरण के लिए समाप्त हो गया है)। जब वह घर वापस आ जाता है, तो उसे फिर से प्रमाणित करने की आवश्यकता होगी, क्योंकि उसने काम पर ताज़ा टोकन का इस्तेमाल किया था, जो पिछले सभी टोकन को अमान्य कर देता था। क्या मैं सही ढंग से समझ गया? तब इस व्यवहार से कैसे बचें? – sp00m