2013-12-18 12 views
7

में प्राधिकरण शीर्षलेख मैं अपने एपीआई नियंत्रकों के लिए वेबएपी और टोकन आधारित प्रमाणीकरण का उपयोग कर रहा हूं। (प्रमाणीकरण: भालू xyzabc ..) अब मेरे पास सिग्नलआर हब है और क्लाइंट पर उनके समान टोकन द्वारा ग्राहकों को प्रमाणित करना चाहते हैं पक्ष।सिग्नलआर 2.0

मैं यह कैसे करूँगा? यह link दिखाता है कि url पैरामीटर के माध्यम से टोकन कैसे भेजना है, लेकिन मुझे यकीन नहीं है कि मैं उस टोकन का उपयोग कैसे कर सकता हूं और सर्वर को सर्वर पर प्रमाणित कर सकता हूं।

उत्तर

0

मैं हर बार टोकन नहीं भेजूंगा। मैं ऑनकनेक्टेड आभासी विधि पर अपना संदर्भ उपयोगकर्ता प्रिंसिपल स्थापित करूंगा और एक टोकन से गुजरने वाली क्वेरी स्ट्रिंग से पढ़ूंगा।

मेरे मामले में। मैंने अभी एक सार वर्ग बनाया है जो हब वर्ग से विरासत में मिला है और फिर वहां मेरे ओथ दावों के उत्पादन तर्क को भर दिया है। फिर मेरे नियमित कंक्रीट हब्स सिर्फ मेरे बेस कस्टम हब वर्ग से विरासत में मिला।

एक और विकल्प कस्टम प्राधिकरण विशेषता या अन्य हब पाइपलाइन मॉड्यूल का उपयोग करना होगा।

मुझे लगता है कि ये रणनीति आपके कोड को DRY और विस्तार योग्य रख सकती हैं।

2

मैंने टोकन को हेडर के बजाय मेरे हब विधि के पैरामीटर के रूप में पास करके हल किया। लेकिन मुझे लगता है कि हेडर का उपयोग करके इसे करना संभव है (केवल संदर्भ से टोकन निकालना। हेडर या कुछ)।

किसी भी तरह से, अपने हब विधि में टोकन प्राप्त करने के बाद, बस इस कोड का उपयोग करें।

public Task SendMessage(string message, string token) 
    { 
     var ticket = Startup.OAuthOptions.AccessTokenFormat.Unprotect(token); 
     bool isAuth = ticket.Identity.IsAuthenticated; 
     //You can retrieve other details like username and userid from ticket 
     ...rest of your code.. 
    } 
0

मुझे पता चला है कि जब आप JQuery जैसे कुछ से वेब एपीआई से डिफ़ॉल्ट/टोकन हैंडलर को कॉल करते हैं, तो ब्राउज़र को एक कुकी भी भेजी जाती है जिसका उपयोग सिग्नलआर के साथ आपको प्रमाणित करने के लिए किया जाता है।

आपको वर्तमान उपयोगकर्ता को तब तक [Authorize] विशेषता के साथ-साथ "Context.User.Identity" का उपयोग करने में सक्षम होना चाहिए जब तक कि आप वर्तमान उपयोगकर्ता को तब तक वैध क्रेडेंशियल्स के साथ कॉल नहीं करते हब से कनेक्ट करने से पहले ब्राउज़र।

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