oauth 2.0 - Facebook not returning e-mail for user -


मैं Microsoft OWIN OAuth पुस्तकालयों का उपयोग करते हुए एक मौजूदा ASP.NET MVC 5 अनुप्रयोग में Facebook प्रमाणीकरण को लागू करने की कोशिश कर रहा हूं और एक उपयोगकर्ता के ईमेल पते को कैसे प्राप्त करें पंजीकरण इस प्रकार दिखता है:

  var विकल्प = नया FacebookAuthenticationOptions {AppId = "YYY", AppSecret = "ZZZ"}; options.Scope.Add ( "public_profile"); options.Scope.Add ( "ईमेल"); app.UseFacebookAuthentication (विकल्प);  

विकल्प ईमेल विकल्प में जोड़ा जाता है

प्रमाणीकरण पर, नियंत्रक में ExternalLoginCallback विधि में, ईमेल इस कोड के साथ शून्य है:

  AuthenticateResult AuthResult = प्रमाणीकरण का इंतजार कर रहा है Manager.AuthenticateAsync (DefaultAuthenticationTypes.ExternalCookie); दावे की पहचान बाहरी आइडेंटिटी = authResult.Identity; स्ट्रिंग ई-मेल = बाहरी इमानदारी। फ़िडफस्ट वैल्यू (दावे टाइप.एमेल);  

इसके बिना भी कोई फायदा नहीं हुआ:

  var loginInfo = प्रतीक्षाकरण प्रमाणीकरण प्रबंधक। GetExternalLoginInfoAsync (); Var email = loginInfo.Email;  

फेसबुक से आए जेएसन डेटा में ई-मेल पता शामिल नहीं है:

  {"id": "989197284440871", "प्रथम_नाम" : "मार्टिन", "लिंग": "पुरुष", "last_name": "Stauf \ u010d \ u00edk", "लिंक": "https: \ / \ / www.facebook.com \ / app_scoped_user_id \ / 989197284440871 \ /" , "लोकेल": "सीएससीजेड", "नाम": "मार्टिन स्टॉफ़ \ u010d \ u00edk", "टाइमज़ोन": 2, "अपडेटेड-टाइम": "2014-10-18 टी 16: 14: 08 + 0000", "सत्यापित": सच}  

क्या यह फेसबुक पर कोई समस्या नहीं है या कोड में गायब है?

मेरी खुद की जवाब देने के लिए प्रश्न, मैंने अभी नवीनतम घटकों MVC 5.2.3 और ओविन 3.0.1 का उपयोग करने के लिए आवेदन को उन्नत किया है, और अब प्रमाणीकरण काम कर रहा है। ई-मेल एड्रेस प्राप्त करने के लिए कोड है:

  [AllowAnonymous] सार्वजनिक एएसआईएनसीके कार्य & lt; एक्शनरसल्ट & gt; ExternalLogin कॉलबैक (स्ट्रिंग रिटर्न url) {var loginInfo = प्रतीक्षाकरण प्रमाणीकरण प्रबंधक। GetExternalLoginInfoAsync (); Var email = loginInfo.Email; ...}  

यह एक डिफ़ॉल्ट कोड है जो एक नया एएसपी.नेट एमवीसी वेब प्रोजेक्ट के साथ दृश्य स्टूडियो में बनाया गया है। जो भी समस्या थी वह अब तय हो गई है।


Comments