मुझे एक JSON REST API मिला है। एक हैंडशेक है जो आपको एक टोकन देगा जो 15 मिनट के लिए मान्य है। उन 15 मिनटों में आपके द्वारा किए जाने वाले सभी कॉल ठीक काम करना चाहिए। 15 मिनट के बाद मैं एक त्रुटि ऑब्जेक्ट लौटा रहा हूं (कोड, संदेश, सफलता = झूठा शामिल है) लेकिन मैं यह भी सोच रहा था कि HTTP त्रुटि कोड मुझे वापस क्या करना चाहिए? और एक HTTP त्रुटि कोड का उपयोग कुछ निश्चित ग्राहकों को गड़बड़ कर देगा? (एचटीएमएल 5, आईफोन, एंड्रॉइड)। इस परिदृश्य में सबसे अच्छा अभ्यास क्या माना जाता है?टोकन समाप्त हो गया - JSON REST API - त्रुटि कोड
उत्तर
मैंने ओएथ 2 spec की खोज की और मुझे पता चला कि वे समाप्त होने पर "अमान्य टोकन त्रुटि" वापस कर सकते हैं। इसमें कोई उल्लेख नहीं है, कि मैं पा सकता हूं कि वे किस HTTP कोड का उपयोग करते हैं। हालांकि, मैं कहूंगा कि आपकी सबसे सुरक्षित शर्त केवल 400 का उपयोग करने के लिए है।
आपको 401 Unauthorized
स्थिति कोड वापस करना चाहिए। आप टोकन को फिर से स्थापित करने के लिए हाइपर्मियाडिया प्रदान कर सकते हैं
वेब ऐप में क्या होता है इसके बारे में सोचें। आप एक बैंकिंग साइट कहने के लिए जाते हैं। अगर नहीं लिखा है तो यह आपको लॉग इन पेज पर भेज देगा। फिर आप लॉग इन करते हैं और आप एक समय के लिए जाने के लिए अच्छे हैं। फिर यह समाप्त हो जाता है और चक्र दोहराता है।
बस एक विचार।
FWIW फेसबुक कस्टम JSON प्रतिक्रिया के साथ 400 का उपयोग करता है। मैं कस्टम JSON प्रतिक्रिया के साथ व्यक्तिगत रूप से 401 पसंद करेंगे।
यहाँ अमेरिकन प्लान के प्रतिसाद का मुख्य भाग:
{
"error": {
"message": "Error validating access token: Session has expired on Jul 17, 2014 9:00am. The current time is Jul 17, 2014 9:07am.",
"type": "OAuthException",
"code": 190,
"error_subcode": 463
}
}
कुछ मुझे बताता है कि फेसबुक को अपवाद के रूप में माना जाना चाहिए, विकास के लिए दिशानिर्देश नहीं। बस केह रहा हू। –
क्या यह एक प्राधिकरण सर्वर के रूप में या संसाधन प्रदाता के लिए फेसबुक पर कॉल है? प्राधिकरण सर्वर 400 वापस आना चाहिए: https://tools.ietf.org/html/rfc6749#section-5.2, लेकिन संसाधन प्रदाता को 401 वापस करना चाहिए –
कल्पना rfc6750 के अनुसार - "OAuth 2.0 प्राधिकरण फ्रेमवर्क: बियरर टोकन उपयोग", https://tools.ietf.org/html/rfc6750, p.8, खंड 3.1, संसाधन सर्वर 401 लौटना चाहिए: >
invalid_token पहुँच प्रदान किया गया टोकन, समाप्त हो गई है रद्द कर दिया, विकृत होने या अन्य कारणों से अमान्य। संसाधन को HTTP 401 (अनधिकृत) स्थिति कोड के साथ जवाब देना चाहिए। क्लाइंट मई एक नया एक्सेस टोकन का अनुरोध करता है और संरक्षित संसाधन अनुरोध का पुनः प्रयास करता है।
- 1. salesforce rest api INVALID_SESSION_ID त्रुटि
- 2. REST API
- 3. REST api:
- 4. लगातार प्रमाणीकरण टोकन समाप्त हो रहा है
- 5. डेल्फी REST API पोस्ट नमूना
- 6. Google स्थल API: जेसन त्रुटि Uncaught SyntaxError अप्रत्याशित टोकन
- 7. हैप्स्टैक के साथ JSON Rest API कैसे बनाएं? जेएसओएन बॉडी?
- 8. REST API दस्तावेज़ पीढ़ी
- 9. PHP REST API
- 10. उत्प्रेरक REST API
- 11. cudamemcpy त्रुटि: "लॉन्च का समय समाप्त हो गया और इसे समाप्त कर दिया गया"
- 12. क्यों "अनुमत स्मृति आकार समाप्त हो गया"?
- 13. SAML टोकन आकार और REST
- 14. JSON API
- 15. लिनक्स में ग्रहण शुरू करने में त्रुटि: "जेवीएम समाप्त हो गया। बाहर निकलें कोड = 13"
- 16. समाप्त हो चुके ऑथ टोकन एंड्रॉइड खाता प्रबंधक से निपटना
- 17. ट्विटर एक्सेस टोकन की समय सीमा समाप्त हो गई है?
- 18. JSON REST/RPC इंटरफ़ेस के लिए आईडीएल
- 19. रेल सीएसआरएफ टोकन - क्या वे समाप्त हो जाते हैं?
- 20. viewbre.js घटना view.render() समाप्त हो गया है
- 21. htaccess - सशर्त पुनर्लेखन और समाप्त हो गया
- 22. एक्सएचआर लोडिंग समाप्त हो गया [...] लॉग संदेश
- 23. ओएथ के टोकन और सत्र REST
- 24. त्रुटि मान्य पहुंच टोकन
- 25. पहुंच टोकन offline_access अनुमति के साथ समय सीमा समाप्त हो
- 26. क्या DotNetOpenAuth समर्थन रीफ्रेशिंग समाप्त हो चुके एक्सेस टोकन?
- 27. फेसबुक पेज एक्सेस टोकन - क्या ये समय समाप्त हो गया है?
- 28. जीयूआई अपडेट नहीं हो जब तक कोड समाप्त हो गया है
- 29. रूबी - फर्क बहुवचन बनाम एक REST API
- 30. मोनो अपाचे 2 HttpWebRequest "अनुरोध का समय समाप्त हो गया"
+1, अच्छा सवाल। क्या आपको कभी इसका अच्छा समाधान मिला? (बीटीडब्ल्यू - दोनों [netflix] (http://developer.netflix.com/docs/read/HTTP_Status_Codes) और [जुड़े हुए] (https://developer.linkedin.com/documents/handling-errors-invalid-tokens) रिटर्न एक 401)। –
संभावित डुप्लिकेट [सत्र टोकन अमान्य होने पर मुझे किस स्थिति कोड का उपयोग करना चाहिए?] (Https://stackoverflow.com/questions/20613088/what-status-code-should-i-use-when-session-token-is -इनवालिद) –