/ / IdentityServer3 टोकन सत्यापन - पहुंच टोकन में पहुंच के अपर्याप्त होने के बाद EmitCorsResponseHeaders में अपवाद - एक्सेस-टोकन, पहचानकर्ता 3, वाहक-टोकन

पहचान Server3 टोकन प्रमाणीकरण - EmitCorsResponse में अपवाद टोकन में अपर्याप्त दायरे के बाद हेडर - एक्सेस-टोकन, पहचानकर्ता 3, भालू-टोकन

मैंने यहाँ गाइड के अनुसार एक बेसिक वेबएपी प्रोजेक्ट स्थापित किया है https://identityserver.github.io/Documentation/docsv2/overview/jsGettingStarted.html

टोकन सत्यापन सिर्फ ठीक काम करता है अगर मैं टोकन में सही एपीआई गुंजाइश पारित करता हूं, लेकिन अगर यह शामिल नहीं है (यदि उपयोगकर्ता पहुंच से इनकार करता है) तो यह अपेक्षित रूप से प्रतिक्रिया में 403 जोड़ देता है।

EmitCorsResponseHeaders (ScopeRequirementMiddleware.cs) में यह CORS हेडर जोड़ने जाता है, लेकिन एक अपवाद फेंकता है -

[ArgumentException: The key "Access-Control-Allow-Origin" is already present in the dictionary.]
Microsoft.Owin.Host.SystemWeb.CallHeaders.AspNetResponseHeaders.Add(String key, String[] value) +178
IdentityServer3.AccessTokenValidation.ScopeRequirementMiddleware.EmitCorsResponseHeaders(IDictionary`2 env) in c:localidentityserver3AccessTokenValidationsourceAccessTokenValidationPlumbingScopeRequirementMiddleware.cs:97

क्या ऐसा हो रहा है या ऐसा कुछ है जो मैंने याद किया है? app.UseCors (CorsOptions.AllowAll) स्टार्टअप में सेट है। शुरू होने वाले गाइड में निर्दिष्ट अनुसार।

धन्यवाद

उत्तर:

जवाब के लिए 2 № 1

यहाँ वास्तव में एक मुद्दा है, लेकिन मैं इसे हल करने के लिए पूरी तरह से निश्चित नहीं हूँ।

The ScopeRequirementMiddleware को सेट करने का प्रयास करता है Allow-Access-Control-Origin प्रतिक्रिया पर शीर्ष लेख है, लेकिन यह तो केवल अगर middleware में सेट गुंजाइश आवश्यकता पूरी नहीं होती है ।

इस तथ्य के साथ स्पष्ट रूप से संघर्ष है कि हम पहले से ही ओविन पाइपलाइन जो पहले से ही इस विशिष्ट शीर्षक सेट है में CORS middleware है ।

मुझे यकीन नहीं कर रहा हूं क्यों गुंजाइश आवश्यकता middleware इस विशिष्ट मामले में इन हेडर सेट, मैं ' ll GitHub पर एक मुद्दा बनाने और इसे वापस दृश्यता के लिए यहां लिंक ।