1

我有一个运行 asp.net core 2.2 web api 的 web 服务器和一个 angular 客户端。

现在,我使用此代码生成电子邮件确认链接:

var uriBuilder = new UriBuilder("http://example.com/confirmEmail");
var parameters = HttpUtility.ParseQueryString(string.Empty);
parameters["id"] = user.Id.ToString();
parameters["token"] = token;
uriBuilder.Query = parameters.ToString();

Uri finalUrl = uriBuilder.Uri;

但我认为这不是最佳做法。我应该怎么做呢?

4

1 回答 1

2

我用这样的东西。我认为这是一个好点!

var code = await _userManager.GenerateEmailConfirmationTokenAsync(identityUser);
var callbackUrl = Url.Action(
                        "ConfirmEmail",
                        "Account",
                        new { userId = identityUser.Id, code = code },
                        protocol: HttpContext.Request.Scheme);

await emailService.SendEmailAsync(model.Email, "Confirm your account",
                        $"confirm email: <a href='{callbackUrl}'>link</a>");

抱歉,我没有注意到您需要使用绝对 url,但我认为它必须对您有所帮助。https://stackoverflow.com/a/37609162/8006943

于 2019-06-10T17:08:37.197 回答