Получить параметр из URL в ASP. net ядро ​​2.1? - PullRequest
0 голосов
/ 15 апреля 2020

У меня есть следующий метод:

Method

введите описание изображения здесь

Этот метод отправляет токен на электронную почту, чтобы иметь возможность восстановить пароль, который работает правильно. Теперь я создал следующую функцию с JavaScript для получения параметра, который у меня есть в URL:

enter image description here

Таким образом, я могу получить параметр У меня есть в URL, который является следующим:

https://localhost:5001/AdminUsers/ResetPassword?token=CfDJ8KA%2FkcFChM9Bp%2F8oQHF0OBo113jwJ7upCuf31%2FnOQ%2BWnPS8Dl6kvAMvhRJ1wWsJEKvckfViPbczsNs09kmnUXcMtY7yxnePjossD3LwfVrJo1EXCRk%2B%2FyluiExuLziOmrtVrdMbVKUvn0oBti5vsF%2FOGs2yWdUR%2BFHrGQKe4ioVVnT9m6np0%2FhFjkZawi%2BvHqjM7ayP5cR5VQWTxrhjsvEzJctqsUhEudVXe53JAvmMW%2BYtGFKSSWwOTcp5RFDE9Hw%3D%3D

Но в настоящее время я пытаюсь изменить пароль с этим токеном, он указывает мне, что токен недействителен, но токен является такой же, как в URL, как показано на следующих изображениях:

введите описание изображения здесь

enter image description here

enter image description here введите описание изображения здесь

Через URL-адрес действия я делаю следующее:

  • Я отправляю токен, чтобы иметь возможность сменить пароль
  • После того, как я возвращаю вид с формой, в которой пользователю нужно будет ввести пользователя и пароль
  • , я получаю пользователя и пароль через Ajax вызов, так как я использую Knockout. js framework

Я надеюсь, что вы можете мне помочь, чем кс!

1 Ответ

0 голосов
/ 15 апреля 2020

В URL значение было закодировано в URL, чтобы его можно было корректно использовать в URL. При предоставлении через URL, платформа достаточно умна, чтобы декодировать значение, прежде чем связать его с соответствующим параметром действия. Однако, когда вы затем отправляете его через тело запроса, это больше не происходит. Значение устанавливается для вашей модели как есть, и да, оно не будет соответствовать фактическому токену, потому что они очень разные строки.

Длинные и короткие, вам нужно либо URL-адрес, чтобы декодировать значение на стороне клиента перед выполнением запроса AJAX или URL расшифруйте его на стороне сервера, прежде чем вы фактически попытаетесь использовать токен. На стороне клиента вы можете использовать: decodeURIComponent(value). На стороне сервера вам нужно использовать HttpUtility.UrlDecode(value).

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