Url.Page автоматически ToLowers любые значения, переданные в - PullRequest
0 голосов
/ 06 января 2020

Я работаю над приложением .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 без нижнего регистра кода?

1 Ответ

0 голосов
/ 06 января 2020

В моем файле Startup.cs у меня было

        services.Configure<RouteOptions>(options =>
        {
            options.LowercaseUrls = true;
            options.LowercaseQueryStrings = true;
        });

. После того, как я это удалил, он установил пароль сброса. Теперь мне просто нужно убедиться, что я больше ничего не сломал в процессе

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