C# Asp.net外部登录(facebook)不检索电子邮件
我正在Asp.net网站中使用内置外部登录 当用户使用GoogleAll登录时,我发现它可以检索用户名和电子邮件 当我从facebook登录时,它不会检索电子邮件C# Asp.net外部登录(facebook)不检索电子邮件,c#,asp.net,facebook,c#-4.0,C#,Asp.net,Facebook,C# 4.0,我正在Asp.net网站中使用内置外部登录 当用户使用GoogleAll登录时,我发现它可以检索用户名和电子邮件 当我从facebook登录时,它不会检索电子邮件 protected void Page_Load() { // Process the result from an auth provider in the request ProviderName = IdentityHelper.GetProviderNameFromRequest(Re
protected void Page_Load()
{
// Process the result from an auth provider in the request
ProviderName = IdentityHelper.GetProviderNameFromRequest(Request);
if (String.IsNullOrEmpty(ProviderName))
{
Response.Redirect("~/Account/Login");
}
if (!IsPostBack)
{
var manager = new UserManager();
var loginInfo = Context.GetOwinContext().Authentication.GetExternalLoginInfo();
if (loginInfo == null)
{
Response.Redirect("~/Account/Login");
}
var user = manager.Find(loginInfo.Login);
if (user != null)
{
IdentityHelper.SignIn(manager, user, isPersistent: false);
IdentityHelper.RedirectToReturnUrl("~/clients", Response);
}
else if (User.Identity.IsAuthenticated)
{
// Apply Xsrf check when linking
var verifiedloginInfo = Context.GetOwinContext().Authentication.GetExternalLoginInfo(IdentityHelper.XsrfKey, User.Identity.GetUserId());
if (verifiedloginInfo == null)
{
Response.Redirect("~/Account/Login");
}
var result = manager.AddLogin(User.Identity.GetUserId(), verifiedloginInfo.Login);
if (result.Succeeded)
{
IdentityHelper.RedirectToReturnUrl("~/clients", Response);
}
else
{
AddErrors(result);
return;
}
}
else
{
userName.Text = loginInfo.DefaultUserName;
Email.Text = loginInfo.Email ;
}
}
}
请帮助电子邮件是一种明确的权限。确保您使用的插件正在明确请求它
请注意,对于一些用户,如果他们没有与其帐户关联的电子邮件ID,或者如果他们在facebook设置中隐藏了他们的电子邮件,则此字段可能为空 电子邮件是一种明确的权限。确保您使用的插件正在明确请求它 请注意,对于一些用户,如果他们没有与其帐户关联的电子邮件ID,或者如果他们在facebook设置中隐藏了他们的电子邮件,则此字段可能为空