2009-07-30 24 views
37

क्या ओएथ का उपयोग करने वाले कस्टम सदस्यता प्रदाता को लागू करने के लिए कोई अनुशंसित संसाधन हैं? लक्ष्य यह होगा कि उपयोगकर्ता अपने मौजूदा ओएथ प्रमाणीकरण का उपयोग करके मेरे एएसपी.नेट एमवीसी एप्लिकेशन में लॉग इन करें। उपयोगकर्ता प्रमाणीकृत होने के बाद, मैं अंतर्निहित एएसपी.NET प्रमाणीकरण सुविधाओं का लाभ उठाना चाहता हूं।ओएथ एएसपी.NET सदस्यता प्रदाता

धन्यवाद।

उत्तर

45

मुझे यकीन है कि आप जो खोज रहे हैं नहीं कर रहा हूँ OAuth है।

OAuth प्राधिकरण सौंपने, टोकन के उपयोग के माध्यम के लिए है। आप जो कर रहे हैं उसके आधार पर आपके पास दो परिदृश्य हैं:

  1. आपका एप्लिकेशन किसी प्रदाता द्वारा होस्ट किए गए कुछ उपयोगकर्ता डेटा का उपयोग करना चाहता है (ट्विटर या Google कहें)। इस मामले में आपका आवेदन उपभोक्ता होगा - संक्षेप में, उपयोगकर्ता को लॉग इन करने और प्रदाता पर उनके डेटा तक पहुंचने के लिए अपने आवेदन को अधिकृत करने के लिए सहमति होगी, और आपको एक एक्सेस टोकन दिया जाएगा जिसका उपयोग किया जा सकता है उन संरक्षित संसाधनों तक पहुंच प्राप्त करने के लिए।
  2. वैकल्पिक रूप से, आप लॉग-इन आदि ऐसे उपयोगकर्ता, के साथ एक आवेदन पत्र है, और आप प्रदान करना चाहते हैं (यानी आप प्रदाता हैं) प्रकट किए बिना 3 पार्टी अनुप्रयोगों (उपभोक्ताओं) के लिए अपने उपयोगकर्ताओं के कुछ प्रतिबंधित जानकारी के लिए उपयोग अपने उपयोगकर्ताओं को उन सेवाओं के लिए प्रमाण पत्र।

OAuth बारे में अधिक जानकारी के लिए - OAuth.Net website की जाँच करें। वर्तमान में ओएथ के लिए उपलब्ध ओएथ के 3 कार्यान्वयन हैं।

जिस तरह से काम करता है के लिए OAuth

, मैं वास्तव में कल्पना नहीं कर सकते कि कैसे आप एक "OAuth" सदस्यता प्रदाता हो सकता था - यह वास्तव में हासिल करने के लिए उद्देश्य से एपीआई, और अक्सर लक्ष्य अधिक ग्रेन्युलर स्तर पर प्रमाणीकरण का प्रतिनिधित्व करना है यानी उपभोक्ता एप्लिकेशन को केवल एक उपयोगकर्ता एड्रेस बुक डेटा तक पहुंच प्रदान करना, उन्हें ईमेल अभिलेखागार, उनके कैलेंडर इत्यादि तक पहुंचने के बिना, जो कि फिट नहीं है एक सदस्यता/भूमिका आधारित सुरक्षा मॉडल के साथ।

मेरा अनुमान है कि आप वास्तव में क्या के लिए देख रहे OpenId अर्थात जिस तरह से आप Stackoverflow के साथ ही स्वयं को प्रमाणित है। मैं पढ़ Stackoverflow OpenId case study here सुझाव है और शायद नेट के लिए सबसे अच्छा OpenId कार्यान्वयन वर्तमान में DotNetOpenAuth परियोजना का हिस्सा (इस औपचारिक रूप से DotNetOpenId, परियोजना is here के लिए गूगल कोड साइट कहा जाता था) है।

+0

बस एक टिप्पणी में छोड़ने DotNetOpenAuth अब यहां पाया जा सकता है कि: http://www.dotnetopenauth.net/ –

+4

@bittercoder मैं आप लोगों को इस जवाब के साथ बंद कर दिया लगता है ... यह लेख देखें । हालांकि यह सच है कि ज्यादातर लोग तृतीय पक्ष एपीआई के प्रमाणीकरण के लिए ओथ का उपयोग कर रहे हैं, इसलिए एसएसओ कस्टम सदस्यता एएसपीनेट समाधान पर विचार करना अनुचित नहीं है। Google Apps डोमेन जहां प्राधिकरण टोकन को एएसपीनेट प्रमाणीकरण (कुकी) टोकन के रूप में उपयोग किया जाता है ताकि इसका उपयोग Google एपीआई के बाद के कॉल बैक के लिए किया जा सके। मेरे पास वास्तव में यह परिदृश्य है जहां मेरा एमवीसी ऐप मेरे Google ऐप्स.डोमेन में एपिस को कॉल कर रहा है। oAuth दोनों प्रमाणीकरण और प्रमाणीकरण है। –

+0

यह प्रतिक्रिया ओएथ 2 से पहले मौजूदा फॉर्म में मौजूद थी (3+ साल पहले!) - मैं उस बिंदु पर कहूंगा कि यह सही था। इन दिनों मुझे लगता है कि दुनिया फिसल गई है, और अधिकांश लोग ओपनआईडी से अनजान हैं, ओएथ को प्रमाणीकरण तंत्र के रूप में मानते हैं, और ओएथ के पीछे के कई मूल विचारों (एपीआई एक्सेस को सुरक्षित करने के लिए प्रतिनिधि प्रमाणित/मार्ग) के बारे में भी जरूरी नहीं हैं। – Bittercoder

6

मैं तुम्हें DotNetOpenAuth की तलाश में हो सकता है लगता है। मैंने इसका उपयोग नहीं किया है, इसलिए मैं आपको यह सुनिश्चित नहीं कर सकता कि इसमें सदस्यता प्रदाता शामिल है, लेकिन मुझे उम्मीद है कि यह करता है। यदि नहीं, तो यह खुला स्रोत है, इसलिए आपको वैसे भी मदद करनी चाहिए जो आप करने की कोशिश कर रहे हैं।

2

आप एक बार देख https://github.com/rustd/ASPNETTemplates जो asp.net के लिए डिफ़ॉल्ट परियोजना टेम्पलेट्स जो OAuth का उपयोग करके प्रवेश का प्रदर्शन और उसके बाद सार्वभौमिक प्रदाताओं का विस्तार है ले जाना चाहिए (webforms टेम्पलेट लेकिन आप MVC के लिए एक ही कर सकते हैं) की भूमिका निभाने आदि

करने के लिए
1

पुस्तकालयों ने इस सवाल को पोस्ट करने के बाद से लंबा सफर तय किया है ...मैं Oauth के लिए इस लाइब्रेरी का उपयोग शुरू कर दिया है - यह पहले से ही लागू किया गया है फेसबुक, ट्विटर, पेपैल और गूगल + एकीकरण:

OAuth2 Social Logins - Facebook, Google, Twitter, PayPal - ASP.NET MVC C# open source library

इसके अलावा, अगर पश्च संगतता आप के लिए जारी नहीं किया गया है, माइक्रोसॉफ्ट लोकप्रिय OAuth प्रदाताओं का समर्थन शुरू कर दिया है

Microsoft OAuth2 OWIN/Katana integration with Facebook and Google+

संबंधित मुद्दे