2009-06-02 6 views
32

HTTP कल्पना कहता है:यदि मैं केवल ओपनआईडी का उपयोग कर रहा हूं तो मुझे 401s पर डब्ल्यूडब्ल्यूडब्ल्यू-प्रमाणीकरण शीर्षलेख के लिए क्या पास करना चाहिए?

10.4.2 401 अनधिकृत

अनुरोध उपयोगकर्ता प्रमाणीकरण की आवश्यकता है। प्रतिक्रिया में एक डब्ल्यूडब्ल्यूडब्लू-प्रमाणीकरण हेडर फ़ील्ड (सेक्शन 14.47) शामिल होना चाहिए जिसमें अनुरोधित संसाधन पर लागू एक चुनौती शामिल है।

केवल लॉगिन योजना मैं समर्थन OpenID (या कैस, या OAuth टोकन, & सी।) है, तो क्या मैं इस क्षेत्र में रखना चाहिए? यही है, मैं कैसे इंगित करता हूं कि क्लाइंट को प्री-प्रमाणीकृत करने की आवश्यकता है और प्रत्येक अनुरोध के साथ प्रमाण पत्र भेजने की बजाय सत्र बनाएं?

उत्तर देने से पहले, "401 न भेजें; ओपनआईडी लॉगिन पृष्ठ पर 3xx रीडायरेक्ट भेजें," गैर-एचटीएमएल क्लाइंट्स के बारे में क्या? कैसे, उदाहरण के लिए, स्टैक ओवरफ्लो एक एपीआई करेगा कि मेरा कस्टम सॉफ्टवेयर किसके साथ बातचीत कर सकता है?

उत्तर

26

RFC2617auth-scheme कुछ भी हो सकता है; यदि आप वास्तव में 401 चाहते हैं तो तकनीकी रूप सेWWW-Authenticate: OpenID realm="My Realm" location="http://my/login/location" जैसे कुछ बनाकर ब्रेकिंग स्पेक नहीं हैं। ऐसा कहकर, जब आप ऐसा करते हैं तो अन्य लोगों के कोड का व्यवहार अनिश्चित है। :-)

3

एक OAuth Discovery spec है जो इंगित करेगा कि WWW- प्रमाणीकरण शीर्षलेख में क्या डालना है - यदि स्पेस अभी तक प्रतिस्थापन के बिना अप्रचलित नहीं था।