Asp.net 外部登录(脸书) 不要检索电子邮件

本文关键字:检索 电子邮件 脸书 net 外部 登录 Asp | 更新日期: 2023-09-27 18:31:14

我正在使用内置的外部登录 Asp.net 网站当用户使用Google登录时一切正常,我会检索用户名和电子邮件。

当我从Facebook登录时,它无法检索电子邮件

 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 ;
            }
        }
    }

请帮忙

Asp.net 外部登录(脸书) 不要检索电子邮件

电子邮件是明确的权限。确保您正在使用的插件 明确请求它。

请注意,对于少数用户来说,如果他们没有与其帐户关联的电子邮件 ID,或者如果他们在 Facebook 设置中隐藏了他们的电子邮件,则此字段可以为空。