ओपनआईडी एक रीडायरेक्ट-पारदर्शी तरीके से डिज़ाइन किया गया है। जब तक प्रत्येक कुंजीपटल पर आवश्यक कुंजी/मूल्य जोड़े संरक्षित होते हैं, या तो जीईटी या पोस्ट द्वारा, सबकुछ ठीक से काम करेगा।
उपभोक्ताओं है कि स्व-हस्ताक्षरित प्रमाणपत्र के साथ काम नहीं करते के साथ संगतता प्राप्त करने के लिए सबसे आसान समाधान एक गैर एन्क्रिप्टेड अंत बिंदु जो एक एन्क्रिप्टेड एक के लिए checkid_immediate
और checkid_setup
संदेशों रीडायरेक्ट का उपयोग करने के लिए है।
वेब सर्वर रीडायरेक्ट के साथ आपके सर्वर कोड में ऐसा करना आसान है क्योंकि पूर्व POST अनुरोधों के साथ अधिक आसानी से निपट सकता है, जबकि कोड को एक साथ रखता है। इसके अलावा, आप सभी ओपनआईडी संचालन को संभालने के लिए एक ही एंड-पॉइंट का उपयोग कर सकते हैं, भले ही इसे एसएसएल पर सेवा दी जानी चाहिए, जब तक कि उचित जांच की जाती है।
// Redirect OpenID authentication requests to https:// of same URL
// Assuming valid OpenID operation over GET
if (!isset($_SERVER['HTTPS']) &&
($_GET['openid_mode'] == 'checkid_immediate' ||
$_GET['openid_mode'] == 'checkid_setup'))
http_redirect("https://{$_SERVER['HTTP_HOST']}{$_SERVER['REQUEST_URI']}");
रूप openid.return_to
मूल्य एक सादे HTTP अंत बिंदु के खिलाफ जनरेट किया गया था, जहाँ तक उपभोक्ता का संबंध है, यह केवल है:
उदाहरण के लिए, PHP में, रीडायरेक्ट के रूप में सरल रूप में हो सकता है एक गैर-एन्क्रिप्टेड सर्वर से निपटना। सत्र और nonces के साथ उचित ओपनआईडी 2.0 ऑपरेशन मानते हुए, उपभोक्ता और आपके सेवर के बीच जो भी जानकारी पारित की गई है, वह शोषक जानकारी प्रकट नहीं करनी चाहिए। आपके ब्राउज़र और ओपनआईडी सर्वर के बीच संचालन, जो शोषक हैं (पासवर्ड स्नूपिंग या सत्र कुकी अपहरण) एन्क्रिप्टेड चैनल पर किए जाते हैं।
ईवर्सड्रॉपर्स को रखने के अलावा, एसएसएल पर प्रमाणीकरण संचालन करने के लिए आपको secure
HTTP कुकी ध्वज का उपयोग करने की अनुमति मिलती है। यह checkid_immediate
संचालन के लिए सुरक्षा की एक और परत जोड़ता है, क्या आप इसे अनुमति देना चाहते हैं।
स्रोत
2008-10-27 05:20:10
यदि मैं स्वयं हस्ताक्षरित प्रमाण का उपयोग नहीं कर सकता तो मुझे एक HTTP कनेक्शन का उपयोग करने के लिए मजबूर किया जाता है, जिस स्थिति में मैंने प्राथमिक और माध्यमिक लाभ खोले हैं। मैं यूआरएल सत्यापित नहीं करना चाहता हूं और यूआरएल सत्यापित और सादे पाठ पासवर्ड भेजने के लिए एन्क्रिप्टेड पासवर्ड भेजना चाहता हूं। –
आप ओपनआईडी या एंडपॉइंट को बदले बिना यूजर इंटरफेस के लिए https का उपयोग कर सकते हैं। उदाहरण के तौर पर, HTTP पहचानकर्ताओं को प्रमाणित करते समय प्रवाह myOpenID का उपयोग करें। यह ब्राउज़र को http एंडपॉइंट से https पृष्ठ तक आगे बढ़ाता है। – keturn
उम, यह * था * आपको क्या चाहिए? हे, आरपीएस * आमतौर पर बोलने वाले स्वयं हस्ताक्षरित कैर्ट के लिए https के साथ काम नहीं करना चाहिए। रीडायरेक्ट के साथ आपके द्वारा चलाए जाने वाले किसी भी चाल के बावजूद, आपको एसएसएल का उपयोग करने की सुरक्षा नहीं मिल रही है जब तक कि आपके पास आरपी ट्रस्ट द्वारा हस्ताक्षरित प्रमाणपत्र नहीं है। –