Я работаю над приложением .netcore3 с IdentityServer, и на странице пример ForgotPassword (которую я использую) они генерируют токен для пользователя и отправляют его по электронной почте следующим образом:
var code = await _userManager.GeneratePasswordResetTokenAsync(user);
var callbackUrl = Url.Page(
"/Account/ResetPassword",
pageHandler: null,
values: new { code },
protocol: Request.Scheme);
await _emailSender.SendEmailAsync(
Input.Email,
"Reset Password",
$"Please reset your password by <a href='{HtmlEncoder.Default.Encode(callbackUrl)}'>clicking here</a>.");
Затем в классе ResetPassword он сбрасывает пароль, используя переданный токен (плюс пользователь и новый пароль) var result = await _userManager.ResetPasswordAsync(user, Input.Code, Input.Password);
Однако вызов Url.Page вверху берет код и строчные буквы целиком, что, по-моему, заставляет ResetPasswordAsyn c выдавать InvalidToken.
Любая идея, как я могу получить Url.Page для генерации абсолютного URL без нижнего регистра кода?