में टोकन पास किए बिना सिग्नलआर (.NET कोर) में जेडब्ल्यूटी प्रमाणीकरण मैं एएसपी .NET कोर वेब एपीआई एप्लिकेशन में जेडब्ल्यूटी प्रमाणीकरण टोकन का उपयोग कर रहा हूं। टोकन एपीआई द्वारा उत्पन्न होते हैं, न कि किसी तीसरे पक्ष द्वारा। मैंने स्टैक पर सफलतापूर्वक सिग्नल जोड़ा, लेकिन अब मुझे उन उपयोगकर्ताओं को प्रमाणित करने की आवश्यकता है जो सर्वर (हब) विधियों को निष्पादित करने का प्रयास कर रहे हैं। किसी ने जावास्क्रिप्ट में "qs" संपत्ति में टोकन पास करने का सुझाव दिया है। यह मेरे लिए काम नहीं करेगा क्योंकि हमारे टोकन वास्तव में बड़े हैं (उनमें बहुत से दावों हैं)। मैंने पेलोड से टोकन पढ़ने और उपयोगकर्ता को स्वतः प्रमाणीकृत करने के लिए एक कस्टम मिडलवेयर लिखने का प्रयास किया। समस्या यह है कि, वेबसाकेट्स का उपयोग करते समय, मिडलवेयर निष्पादित नहीं होता है। कोई भी विचार मदद करेगा।क्वेरी स्ट्रिंग
उत्तर
आलेख पर एक नज़र डालें जो क्वेरी स्ट्रिंग Authenticate against a ASP.NET Core 1.0 (vNext) SignalR application using JWT का उपयोग करने का सुझाव देती है। मुझे पता है कि टोकन बहुत लंबा है, लेकिन लेखक बताता है कि अनुरोध को प्रमाणित करने के लिए मिडलवेयर का उपयोग कैसे करें।
- SignalR किसी विशेष प्रमाणीकरण तंत्र में बनाया नहीं है, यह मानक ASP.NET प्रमाणीकरण का उपयोग किया जाता है:
यहाँ लेख से सार है।
- जेडब्ल्यूटी आम तौर पर एक अनुरोध के प्राधिकरण शीर्षक में भेज दिया जाता है
- SignalR जावास्क्रिप्ट क्लाइंट लाइब्रेरी साधन अनुरोधों में हेडर भेजने के लिए शामिल नहीं है, यह हालांकि आप एक क्वेरी स्ट्रिंग
- अगर हम पारित पारित करने के लिए अनुमति नहीं है क्वेरी स्ट्रिंग में टोकन हम एक मिडलवेयर लिख सकते हैं जो टोकन के साथ प्राधिकरण शीर्षलेख जोड़ता है। इस पाइप लाइन में जेडब्ल्यूटी मिडलवेयर पहले किया जाना चाहिए
- "वाहक" प्रारूप
मैं प्रमुख मुद्दा है कि अपने कस्टम मिडलवेयर जेडब्ल्यूटी मिडलवेयर से पहले पंजीकृत किया जाना चाहिए पर प्रकाश डाला है के प्रति सचेत रहें।
मिडलवेयर वहां है, केवल क्यूएस बहुत लंबा है –
मैं समझता हूं कि आप क्यू लंबे हैं। क्या आप टोकन में टोकन एम्बेड कर सकते हैं और इसे पहले से पंजीकृत करने के लिए मिडलवेयर का उपयोग कर सकते हैं? –
ठीक है, मुझे लगता है कि आपको सिग्नलआर से पहले मिडलवेयर में पेलोड तक पहुंच नहीं हो सकती है। उस स्थिति में जब आप पेलोड पढ़ते हैं तो आप अपने एप्लिकेशन कोड में टोकन के लिए कस्टम पार्सर को कार्यान्वित कर सकते हैं। आप प्राधिकृत विशेषता का उपयोग करने में सक्षम नहीं होंगे, लेकिन आप उपयोगकर्ता के दावों और यह सब जांचने में सक्षम होंगे। –
- 1. क्वेरी स्ट्रिंग
- 2. क्वेरी स्ट्रिंग
- 3. क्वेरी स्ट्रिंग
- 4. क्वेरी स्ट्रिंग
- 5. क्वेरी स्ट्रिंग
- 6. क्वेरी स्ट्रिंग प्राप्त करने के लिए क्वेरी स्ट्रिंग PHP
- 7. क्यों UriBuilder.query क्वेरी स्ट्रिंग (url एन्कोडिंग) क्वेरी स्ट्रिंग नहीं है?
- 8. JQuery क्वेरी स्ट्रिंग ट्रेवर्सल
- 9. एक क्वेरी स्ट्रिंग पैरामीटर
- 10. Django: क्वेरी स्ट्रिंग
- 11. पार्स क्वेरी स्ट्रिंग
- 12. रेल मार्गों क्वेरी स्ट्रिंग
- 13. "।" क्वेरी स्ट्रिंग में
- 14. कंपोज़र क्वेरी स्ट्रिंग एक्सेसिंग
- 15. स्ट्रिंग :: c_str क्वेरी
- 16. कैसे HTTP क्वेरी स्ट्रिंग
- 17. पेपैल पीडीटी क्वेरी स्ट्रिंग
- 18. क्वेरी स्ट्रिंग और एंकर
- 19. एक क्वेरी स्ट्रिंग मान
- 20. क्वेरी स्ट्रिंग पैरामीटर obfuscation
- 21. निकालें क्वेरी स्ट्रिंग इनको
- 22. एसक्यूएल क्वेरी एक स्ट्रिंग
- 23. क्वेरी स्ट्रिंग पैरामीटर नाम
- 24. मैं क्वेरी स्ट्रिंग
- 25. त्रुटि एक क्वेरी स्ट्रिंग
- 26. SQLite स्ट्रिंग में अन्य स्ट्रिंग क्वेरी
- 27. संग्रह क्वेरी स्ट्रिंग प्राप्त करें
- 28. प्लस साइन इन क्वेरी स्ट्रिंग
- 29. बोतल test_client क्वेरी स्ट्रिंग पैरामीटर
- 30. एकल URL क्वेरी स्ट्रिंग मान
[सिग्नलआर और ओपनआईडी कनेक्ट] का संभावित डुप्लिकेट (http://stackoverflow.com/questions/40806171/signalr-and-openid-connect) –
यह डुप्लिकेट नहीं है, क्योंकि मैं क्वेरी स्ट्रिंग का उपयोग नहीं कर सकता सब, मेरे टोकन बहुत लंबे हैं और मुझे 414 त्रुटि मिलती है। मैं एक कस्टम मिडलवेयर की तरह कुछ बनाना चाहता हूं जो सिग्नलआर संदेश से टोकन निकालता है और फिर उपयोगकर्ता को लॉग इन करता है। –
दुर्भाग्यवश टोकन को पार करने के केवल दो तरीके हैं --- या तो क्वेरी स्ट्रिंग या पैरामीटर के रूप में। उम्मीद है कि यह सिग्नलआर के अगले संस्करण में संबोधित किया जाएगा। – mikebridge