Как создать ссылку для подтверждения по электронной почте с веб-сервера на клиент - PullRequest
1 голос
/ 10 июня 2019

У меня есть веб-сервер, на котором запущено asp.net core 2.2 web api, и угловой клиент.

Теперь я использую этот код для генерации ссылок для подтверждения по электронной почте:

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;

Но я думаю, что это не лучшая практика.Как же мне это сделать?

1 Ответ

2 голосов
/ 10 июня 2019

Я использую что-то вроде этого. Я думаю, что это хорошая точка!

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...