If possible could you try to install Nop 3.60 from scratch and create new one FB developer account (Testing user also OK)? Than you will see what happen.
Please host in this hosting server http://www.smarterasp.net, it is 60 Days Free Trials with 1-click install Nop too.
In order to retrieve the email from the latest facebook app(v2.4) you have to explicitly ask for it in your request. I implemented a method in FacebookProviderAuthorizer.cs class which does it:
private string RequestEmailFromFacebook(string accessToken) { var request = WebRequest.Create("https://graph.facebook.com/me?fields=email&access_token=" + EscapeUriDataStringRfc3986(accessToken)); using (var response = request.GetResponse()) { using (var responseStream = response.GetResponseStream()) { var reader = new StreamReader(responseStream); var responseFromServer = reader.ReadToEnd(); var userInfo = JObject.Parse(responseFromServer); if (userInfo["email"] != null) { return userInfo["email"].ToString(); } } }
return string.Empty; } I call this in the ParseClaims() method where claims.Contact.Email is set.
I have uploaded the published plugin that I am using for my store: http://1drv.ms/1JNcdvp
In order to retrieve the email from the latest facebook app(v2.4) you have to explicitly ask for it in your request. I implemented a method in FacebookProviderAuthorizer.cs class which does it:
private string RequestEmailFromFacebook(string accessToken) { var request = WebRequest.Create("https://graph.facebook.com/me?fields=email&access_token=" + EscapeUriDataStringRfc3986(accessToken)); using (var response = request.GetResponse()) { using (var responseStream = response.GetResponseStream()) { var reader = new StreamReader(responseStream); var responseFromServer = reader.ReadToEnd(); var userInfo = JObject.Parse(responseFromServer); if (userInfo["email"] != null) { return userInfo["email"].ToString(); } } }
return string.Empty; } I call this in the ParseClaims() method where claims.Contact.Email is set.
I have uploaded the published plugin that I am using for my store: http://1drv.ms/1JNcdvp
Hi Mihail, does your plugin work with nop v 3.50? I had the 'no email' issue with the facebook plugin in nop 3.50. I replaced the existing ExternalAuth.Facebook folder in the plugins folder with your new version above, then clicked 'reload list of plugins', but now there is no ExternalAuth.Facebook showing in the list. I can see it in the right place using ftp. Any ideas...?
In order to retrieve the email from the latest facebook app(v2.4) you have to explicitly ask for it in your request. I implemented a method in FacebookProviderAuthorizer.cs class which does it:
private string RequestEmailFromFacebook(string accessToken) { var request = WebRequest.Create("https://graph.facebook.com/me?fields=email&access_token=" + EscapeUriDataStringRfc3986(accessToken)); using (var response = request.GetResponse()) { using (var responseStream = response.GetResponseStream()) { var reader = new StreamReader(responseStream); var responseFromServer = reader.ReadToEnd(); var userInfo = JObject.Parse(responseFromServer); if (userInfo["email"] != null) { return userInfo["email"].ToString(); } } }
return string.Empty; } I call this in the ParseClaims() method where claims.Contact.Email is set.
I have uploaded the published plugin that I am using for my store: http://1drv.ms/1JNcdvp
Hi Mihail, does your plugin work with nop v 3.50? I had the 'no email' issue with the facebook plugin in nop 3.50. I replaced the existing ExternalAuth.Facebook folder in the plugins folder with your new version above, then clicked 'reload list of plugins', but now there is no ExternalAuth.Facebook showing in the list. I can see it in the right place using ftp. Any ideas...?
check supported version in Description.txt file. If supported version 3.6 make it 3.5