ASP.NET身份验证ConfirmEmailAsync仅在本地工作的问题该如何解决?
创始人
2024-09-19 10:30:37
0

该问题在ASP.NET identity 3.0及更高版本已经修复。如果使用较旧版本的ASP.NET identity,可以尝试以下两种解决方案:

方案一:重写ConfirmEmailAsync方法,将其中涉及到的URL改为公共地址,而不是本地地址。这样邮件中的确认链接就可以在外部使用了。示例代码如下:

public async Task ConfirmEmailAsync(string userId, string code)
{
    // 查找user,并确认email是否匹配
    var user = await UserManager.FindByIdAsync(userId);
    if (user == null)
    {
        throw new ApplicationException("User not found.");
    }
    var result = await UserManager.ConfirmEmailAsync(user, code);
    if (result.Succeeded)
    {
        // 确认成功
    }
    else
    {
        throw new ApplicationException("Error confirming email.");
    }
}

方案二:使用SMTP服务发送确认邮件,而不是在本地生成。可以使用SMTP服务提供商(例如SendGrid、Gmail等)向用户发送确认链接。示例代码如下:

public async Task SendConfirmationEmailAsync(ApplicationUser user)
{
    var token = await UserManager.GenerateEmailConfirmationTokenAsync(user);
    var confirmationLink = Url.Action("ConfirmEmail", "Account", new { userId = user.Id, code = token }, protocol: HttpContext.Request.Scheme);
    
    // 创建SMTP客户端
    var client = new SmtpClient("smtp.sendgrid.net", 587)
    {
        Credentials = new NetworkCredential("sendgrid_username", "sendgrid_password")
    };

    // 设置邮箱内容
    var subject = "Confirm your email";
    var body = $"Please confirm your account by clicking this link: {confirmationLink}";
    var message = new MailMessage("from@example.com", user.Email, subject, body);

    // 发送邮箱
    await client.SendMailAsync(message);
}

相关内容

热门资讯

总算清楚!广东雀神挂件脚本开挂... 总算清楚!广东雀神挂件脚本开挂,新518互娱脚本下载,详细工具(有挂解密)1、任何广东雀神挂件脚本开...
玩家必用!微信广东雀神挂件辅助... 玩家必用!微信广东雀神挂件辅助,对战互娱辅助系统,详细方法(有挂技术)1、点击下载安装,微信广东雀神...
2024教程!仟众部落辅助,微... 2024教程!仟众部落辅助,微乐自建房辅助,详细攻略(有挂教程)1、该软件可以轻松地帮助玩家将微乐自...
科技新动态!打罗松必胜技巧,贪... 科技新动态!打罗松必胜技巧,贪玩互娱辅助,详细插件(证实有挂)1、打罗松必胜技巧免费脚本咨询教程、打...
每日必看!天天互娱app辅助,... 每日必看!天天互娱app辅助,微乐智能辅助app,详细挂(有挂实锤)1、进入游戏-大厅左侧-新手福利...
分享一款!雀友会广东潮汕麻雀开... 分享一款!雀友会广东潮汕麻雀开挂,天天贵阳游戏辅助,详细工具(有挂技巧)雀友会广东潮汕麻雀开挂透视方...
推荐一款!来几局是正规平台吗,... 推荐一款!来几局是正规平台吗,微乐小程序辅助器脚本,详细app(有挂秘诀)1、任何微乐小程序辅助器脚...
实测交流!福建13水源码,四川... 实测交流!福建13水源码,四川熊猫辅助,详细技巧(有挂方式)1、四川熊猫辅助破解器简单,四川熊猫辅助...
每日必看推荐!欢乐茶馆挂,微信... 每日必看推荐!欢乐茶馆挂,微信卡五星辅助器,详细挂(有挂讲解)微信卡五星辅助器辅助器是一种具有地方特...
解密关于!手游蛮王辅助,川南久... 解密关于!手游蛮王辅助,川南久久辅助,详细教程(的确有挂)1、进入游戏-大厅左侧-新手福利-激活码辅...