asp.net mvc - OWIN authentication server and shared cookies -
मेरे पास निम्न संरचना के साथ एक ओविन वास्तुकला है:
तो पहला कोड निम्न कोड का उपयोग करके मेरे MVC अनुप्रयोग के अंदर पहला प्रवेश:
var डेटा = "अनुदान_प्रकार = पासवर्ड और उपयोगकर्ता नाम =" + $ scope.login मॉडेल उपयोगकर्ता नाम + "& amp; पासवर्ड =" + $ scope.login मॉडेल। पासवर्ड; $ Http ({method: 'POST', url: identityApi + 'Token', डेटा: डेटा, हेडर: {'Content-Type': 'application / x-www-form-urlencoded'}})। सफलता (फ़ंक्शन (डेटा, स्थिति, हेडर, कॉन्फिग) {$ scope.isLogged = true; $ window.sessionStorage.setItem ("टोकन", डेटा.एक्सेस_टोकन);}) त्रुटि (फ़ंक्शन (डेटा, स्थिति, हेडर, कॉन्फ़िग) {$ scope.isLogged = false; $ scope.queryError = डेटा || 'एक त्रुटि हुई' + 'स्थिति' + स्थिति;});
इस समय मैं अपने वेब एपीआई पर किसी भी [प्राधिकृत करें] नियंत्रक को कॉल कर सकता हूं और यह सफल होता है। समस्या मेरे एमवीसी आवेदन के अंदर है। प्रवेश करने के बाद, मैं अपने कस्टम OAuthAuthorizationServerProvider द्वारा मेरे मैक ओएस अनुप्रयोग के अंदर उत्पन्न होने वाली कुकीज की प्रमाणिकता कुकी में नहीं मिल सकता, जब मैं जांच करता हूं:
HttpContext.Current.User Identity.IsAuthenticated
मैं हमेशा रिक्त वापस मिलता है, जबकि अगर मैं इसे अपने डेटा नियंत्रक ( जो टोकन आईडी प्राप्त करता है ) मैं दावा extrapolate कर सकते हैं।
इस तरह से मैं / टोकन समापन बिंदु द्वारा उपयोग की अनुमति है: // क्रेडेंशियल्स सत्यापित करें
var userManager = नया UserManager (नया CustomUsersStorage ());
CustomUser user = प्रतीक्षा करें userManager.FindAsync (context.UserName, context.Password); यदि (उपयोगकर्ता == नल) {context.SetError ("invalid_grant", "उपयोगकर्ता नाम या पासवर्ड गलत है।"); वापसी; } // टोकन पहचान उत्पन्न करें दावा दासता oAuthIdentity = यूजर मैनैगर। क्रेइटीआईडेंटिटीएसिंक (यूजर, ओअथ डिफॉल्ट्स। ऑथेंटिकेशन टाईप) का इंतजार; OAuthIdentity.AddClaim (नया दावा (दावे टाइप.नम, प्रसंग। उपयोगकर्ता नाम)); // Coockie पहचान का दावा उत्पन्न आईडीईटीआई कुकीज़आदेश = उपयोगकर्ता प्रबंधक का चयन करें। // टोकन और अनुरोध प्रमाणीकरण प्रॉपर्टीज गुणों = CreateProperties (user.UserName) मान्य; प्रमाणीकरण टिकट टिकट = नया प्रमाणीकरणटेट (oAuthIdentity, गुण); context.Validated (टिकट); // cookie context.Request.Context.Authentication.SignIn (नई प्रमाणीकरणप्रापतियां () {आईएसपीर्सिस्टेंट = सच}, कुकीजआईडेंटिटी) के साथ साइनइन करें;
Comments
Post a Comment