我的api和帐户管理方面没什么问题。每当用户创建新帐户时,都必须通过单击通过电子邮件发送的链接来确认。这完全没问题。 但是,当用户单击该链接时,它会打开一个空白的浏览器窗口。现在,我想将用户重定向到提供应用程序说明的网页。经过一番研究,我找到了"重定向(string url)"命令。
[HttpGet]
[AllowAnonymous]
[Route("ConfirmEmail", Name = "ConfirmEmailRoute")]
public async Task<IHttpActionResult> ConfirmEmail(string userId = "", string code = "")
{
if (string.IsNullOrWhiteSpace(userId) || string.IsNullOrWhiteSpace(code))
{
ModelState.AddModelError("", "User Id and Code are required");
return BadRequest(ModelState);
}
IdentityResult result = await this.AppUserManager.ConfirmEmailAsync(userId, code);
if (result.Succeeded)
{
Redirect("http://www.orf.at");
return Ok();
}
else
{
return GetErrorResult(result);
}
}
地址应该只是一个例子。但是,只要单击链接,浏览器仍会打开一个空白选项卡。有可能避免这种情况吗?最好的解决方案是将用户重定向到另一个站点。但如果这不起作用,可以以某种方式防止打开一个新窗口吗?
答案 0 :(得分:2)
而不是返回Ok()
返回Redirect("http://www.orf.at");
if (result.Succeeded)
{
return Redirect("http://www.orf.at");
}
else
{
return GetErrorResult(result);
}