ओएथ 2.0 टोकन रीफ्रेश पर यहां जानकारी है।
परिभाषा में समाप्त हो
OAuth 2.0 मानक, RFC 6749, समय सीमा समाप्ति के लिए सेकंड की संख्या के रूप में परिभाषित करता है expires_in
क्षेत्र:
expires_in: अनुशंसित। पहुंच टोकन के सेकंड में जीवन भर। उदाहरण के लिए, मान "3600" दर्शाता है कि पहुंच टोकन पहुंचने के समय से एक घंटे में समाप्त हो जाएगी। यदि छोड़ा गया है, तो प्राधिकरण सर्वर को अन्य साधनों के माध्यम से समाप्ति समय प्रदान करना चाहिए या डिफ़ॉल्ट मान दस्तावेज करना चाहिए।
टोकन ताज़ा हैंडलिंग: विधि 1
एक वैध access_token
, expires_in
मूल्य, refresh_token
, आदि प्राप्त करने पर, ग्राहकों को एक समय समाप्ति भंडारण और प्रत्येक अनुरोध पर यह देख कर इसकी संसाधित कर सकें। यह निम्न चरणों का उपयोग किया जा सकता है:
- परिवर्तित
expires_in
एक समय सीमा समाप्त हो-समय पर (युग, आईएसओ datetime, आदि)
- दुकान प्रत्येक संसाधन अनुरोध पर समय
- समय सीमा समाप्त हो, के खिलाफ वर्तमान समय की जाँच समय सीमा समाप्त हो और अगर
access_token
एक नया access_token
प्राप्त करने के लिए
इसके अलावा समाप्त हो गया है संसाधन अनुरोध से पहले एक टोकन रीफ्रेश अनुरोध बनाने के लिए, आप एक समय समाप्ति च के साथ एक नया refresh_token
प्राप्त हो सकता है भविष्य में आगे। यदि आपको यह प्राप्त होता है, तो आपको अपने सत्र के जीवन को बढ़ाने के लिए नया refresh_token
स्टोर करना चाहिए।
टोकन ताज़ा हैंडलिंग: विधि 2
टोकन ताज़ा से निपटने का एक अन्य तरीका मैन्युअल रूप से अमान्य टोकन त्रुटि प्राप्त करने के बाद ताज़ा करने के लिए है। यह पिछले दृष्टिकोण या स्वयं के साथ किया जा सकता है।
यदि आप एक समाप्त access_token
का उपयोग करने का प्रयास करते हैं और आपको एक अवैध टोकन त्रुटि मिलती है, तो आपको टोकन रीफ्रेश करना चाहिए (यदि आपका रीफ्रेश टोकन अभी भी वैध है)। चूंकि अलग-अलग सेवाएं समय-समय पर समाप्त टोकन के लिए अलग-अलग त्रुटि कोड का उपयोग कर सकती हैं, इसलिए आप प्रत्येक सेवा के लिए कोड का ट्रैक रख सकते हैं या सेवाओं में टोकन रीफ्रेश करने का एक आसान तरीका केवल 4xx त्रुटि का सामना करने पर एक ताज़ा करने का प्रयास करना है।
अमान्य पहुंच टोकन त्रुटियाँ
नीचे लोकप्रिय सेवाओं से कुछ त्रुटि कोड हैं:
- Facebook: Error 467 Invalid access token - पहुँच टोकन, समाप्त हो गई है रद्द कर दिया गया, या अन्यथा वह अमान्य है - की अवधि समाप्त हो पहुंच टोकन को संभाल।
- LinkedIn: Error 401 Unauthorized।
- PayPal: Error 401 Unauthorized।
ताज़ा टोकन का समय समाप्त होने
यदि आपका refresh_token
भी समाप्त हो गया है, आप फिर से प्राधिकरण की प्रक्रिया के माध्यम से जाने की जरूरत होगी।
हाय, आपके उत्तर के लिए बहुत धन्यवाद! समाप्ति समय की जांच करते समय, यदि उपयोगकर्ता डिवाइस समय बदलता है तो क्या होगा? क्या यह अक्सर एक्सेस टोकन को रीफ्रेश करने का नेतृत्व नहीं करेगा? और अमान्य टोकन त्रुटि की जांच के संबंध में, क्या आपको प्रतिक्रिया कोड और त्रुटि प्रारूप पर कोई विचार है कि oAuth सर्वर वापस आ जाएगा? और क्या यह सभी oAuth सर्वरों के लिए त्रुटि प्रतिक्रिया समान होगी? – XiOS
अक्सर डिवाइस समय परिवर्तन होने के लिए कुछ उपयोग के मामले क्या हैं? टाइमज़ोन परिवर्तन स्वचालित रूप से संभाला जाना चाहिए। चूंकि अमान्य टोकन त्रुटि कोड मानक में परिभाषित नहीं किया गया है, इसलिए विभिन्न सेवाओं ने अब ऊपर सूचीबद्ध विभिन्न त्रुटि कोड चुने हैं। उल्लेख किए गए 4xx त्रुटि पर एक रीफ्रेश करने का प्रयास करने के लिए एक सरल रीफ्रेश दृष्टिकोण हो सकता है। – Grokify