- Токен недействителен при сбросе пароля с помощью удостоверения ASP.NET
- 5 ответов
- Токен сброса пароля идентификации недействителен
- 4 ответа
- .Net Core токен сброса пароля и токен Identityserver 4 недействительны
- 2 ответа
- Недопустимый токен сброса пароля удостоверения
- 4 ответов
- Laravel — я постоянно получаю «этот токен сброса пароля недействителен», когда пытаюсь сбросить пароль
- 1 ответ
- Похожие вопросы:
Токен недействителен при сбросе пароля с помощью удостоверения ASP.NET
Я реализовал ASP.NET Identity в своем приложении MVC, скопировав код из шаблонов VS 2013. Основная вещь работает, но мне не удалось заставить работать сброс пароля. Когда я показываю страницу «забытый пароль», создается электронное письмо, содержащее токен. Этот токен возвращается методом:
Когда я нажимаю ссылку, открывается форма для сброса пароля, в которой пользователь может ввести свой адрес электронной почты и новый пароль. Затем выполняется вызов функции смены пароля:
Мне это кажется хорошим, но в результате всегда получается «Недействительный токен», и я не понимаю, почему это так.
Кто-нибудь знает, почему это не работает? И где, черт возьми, хранится токен? Я подумал, что это должно быть в базе данных где-то около таблицы AspNetUsers .
5 ответов
Токен, сгенерированный UserManager в ASP.NET Identity, обычно содержит символы » + «, которые при передаче в качестве строки запроса заменяются на » » (пробел) в URL-адресе. В ResetPassword ActionResult замените » » на » + » следующим образом:
Это должно делать свое дело. У меня была такая же проблема, и я нашел ответ здесь.
Просто хотел добавить, что наиболее распространенной проблемой за пределами кодирования / декодирования HTML является то, что в вашей пользовательской записи в базе данных может отсутствовать SecurityStamp. В ASP.NET Identity есть ошибка, когда одна функция устанавливает значение null при создании токена, тогда как другая при проверке токена проверяет наличие пустой строки.
Если ваш SecurityStamp имеет значение null или пустую строку, это вызовет проблему с недопустимым токеном.
В моем случае это произошло из-за того, что данные в базе данных были неправильно импортированы из другой базы данных. Поле SecurityStamp было пустым, поэтому я получил ошибку неверного токена.
Если ваш SecurityStamp изменится после создания вашего токена, токен также недействителен.
Так, например, вы генерируете свой токен, используя
А потом позвонить
Ваш SecurityStamp обновляется , поэтому токен становится недействительным
Источник
Токен сброса пароля идентификации недействителен
Я пишу MVC 5 и использую Identity 2.0.
Сейчас пытаюсь сбросить пароль. Но я всегда получаю ошибку «недействительный токен» для токена сброса пароля.
И я установил DataProtectorTokenProvider,
Я генерирую сброс пароля перед отправкой почты
Я нажимаю ссылку в почте, получаю токен сброса пароля и использую
Результат всегда ложный, и он говорит «Недействительный токен». Где мне исправить?
4 ответа
UserManager.GeneratePasswordResetTokenAsync() очень часто возвращает строку, содержащую символы «+». Если вы передаете параметры по строке запроса, это является причиной (символ ‘+’ — это пробел в строке запроса в URL-адресе).
Попробуйте заменить пробелы в model.PasswordToken символами «+».
Многие ответы здесь URLEncode токен перед отправкой, чтобы обойти тот факт, что токен (являющийся строкой в кодировке base 64) часто содержит символ ‘+’. Решения также должны учитывать, что токен заканчивается на ‘==’.
Я боролся с этой проблемой, и оказалось, что многие пользователи в большой организации использовали Scanmail Trustwave Link Validator (r), который не симметрично кодировал и декодировал URLEncoded stings в ссылке электронной почты (на момент написания).
Самый простой способ — использовать ответ Матеуша Чисека и отправить токен без URLEncoded и просто заменить символы пробела обратно на +. В моем случае это было сделано в угловом SPA, поэтому Javascript становится $routeParams.token.replace(/ /g,’+’) .
Предостережение здесь будет заключаться в использовании AJAX для отправки токена и развертывания собственного алгоритма синтаксического анализа строки запроса — многие примеры разбивают каждый параметр на ‘=’, который, конечно, не будет включать ‘==’ в конце токена. Легко обойти, используя одно из решений регулярных выражений или ища только 1-й знак ‘=’.
Я обнаружил, что ошибка «Недопустимый токен» также возникает, когда столбец SecurityStamp имеет значение NULL для пользователя в таблице AspNetUsers в базе данных. SecurityStamp не будет NULL с готовым кодом MVC 5 Identity 2.0, однако в нашем коде была обнаружена ошибка при выполнении некоторой настройки AccountController, которая очищала значение в поле SecurityStamp.
Источник
.Net Core токен сброса пароля и токен Identityserver 4 недействительны
Мои приложения и API защищены с помощью IdentityServer 4.
У меня есть централизованный API для управления пользователями (регистрация новых пользователей, обновление, удаление и сброс паролей). Токен, сгенерированный этим api, будет использоваться сервером идентификации для сброса пароля пользователя.
Проблема в том, что я всегда получаю ошибку неверного токена. Я знаю, что это не имеет ничего общего с кодировкой URL, потому что забытый пароль обрабатывается сервером идентификации, а токен, созданный сервером идентификации, работает нормально. Проблема в том, что токен генерируется разными api (даже на одной машине).
Я задумался о создании общего поставщика защиты данных, но не понимаю, как это делается. Как я могу сбросить токен пароля, созданный одним API, принятым другим?
Я использую usermanager Asp Identity для создания токена сброса пароля:
Вот как мой IdentityServer настроен на использование Asp Identity:
И вот как мой UserManagement Api настроен для использования Asp Identity:
2 ответа
Пришлось перейти к другим вопросам, а сейчас вернусь к этому. Я решил эту проблему, убедившись, что все мои API и экземпляр IdentityServer настроены для использования защиты данных ASP.NET Core. Я использую redis в качестве моей распределенной системы кеширования, поэтому мне просто нужно было настроить каждый из моих api и identityserver, и теперь все использует одни и те же ключи при генерации токенов. Вот что я использую в каждом файле startup.cs:
А затем не забудьте использовать сеанс (в API):
Источник
Недопустимый токен сброса пароля удостоверения
Я пишу MVC 5 и использую Identity 2.0.
теперь я пытаюсь сбросить пароль. Но я всегда получаю ошибку «недопустимый токен» для сброса токена пароля.
и я установил DataProtectorTokenProvider,
Я произвести сброс пароля перед отправкой почты
Я нажимаю ссылку в Почте, И я получаю токен passwordreset и использую
результат всегда false, и он говорит «недопустимый токен». Где должен ли я исправить ?
4 ответов
UserManager.GeneratePasswordResetTokenAsync() очень часто возвращает строку, содержащую ‘+’ символов. Если вы передаете параметры по строке запроса, это причина (символ » + » — это пробел в строке запроса в URL-адресе).
попробуйте заменить символы пробела в model.PasswordToken С символы’+’.
и при сбросе пароля действие декодировать токен HttpUtility.UrlDecode(token);
Я обнаружил, что ошибка «недопустимый токен» также возникает, когда столбец SecurityStamp имеет значение NULL для пользователя в таблице AspNetUsers в базе данных. SecurityStamp не будет нулевым с кодом MVC 5 Identity 2.0 из коробки, однако в нашем коде была введена ошибка при выполнении некоторой настройки AccountController, которая очистила значение в поле SecurityStamp.
многие ответы здесь URLEncode маркер перед отправкой, чтобы обойти тот факт, что маркер (являющийся базовой 64 закодированной строкой) часто содержит символ»+». Решения также должны учитывать, что токен заканчивается на’==’.
Я боролся с этой проблемой , и оказалось, что многие пользователи в большой организации использовали Scanmail Trustwave Link Validator (r) , который не был симметрично кодировать и декодировать URLEncoded stings в ссылке электронной почты (во время письменный.)
самый простой способ-использовать ответ Mateusz Cisek и отправить маркер без URLEncoded и просто заменить символы пробела на +. В моем случае это было сделано в угловом СПА, поэтому Javascript становится $routeParams.token.replace(/ /g,’+’) .
предостережение здесь будет, если использовать AJAX для отправки токена и свертывания собственного алгоритма синтаксического анализа строки запроса — многие примеры разделяют каждый параметр на»=», который, конечно, не будет включать «= = » в конце токена. Легко обойти используя одно из решений regex или ища только 1st’=’.
Источник
Laravel — я постоянно получаю «этот токен сброса пароля недействителен», когда пытаюсь сбросить пароль
это мой config/auth.php
при попытке сбросить пароль клиента я получаю сообщение об ошибке «этот токен недействителен».
Это мой ResetsPassword.php -> reset()
Вот запрос на сброс пароля:
1 ответ
я только что установил laravel5, перенес таблицу users и вставил пользователей в таблицу. теперь я хочу изменить пароль с помощью сброса пароля в laravel5. когда вы используете email для сброса пароля, появляется предупреждение bootbox о том, что мы отправили вам по электронной почте ссылку для.
Я пишу тест,который гарантирует, что функция сброса пароля моего приложения работает. Система сброса пароля была создана с помощью команды php artisan make:auth . Чтобы пройти тест, мне нужно автоматизировать запрос GET на /password/reset/ <$token>, где $token -это значение, хранящееся в таблице.
Маркер сброса пароля должен быть сгенерирован до отправки на маршрут password.update . Как правило, это происходит, когда пользователь вводит свой адрес email в форму перед отправкой ссылки сброса пароля.
Для пользовательской реализации вам может потребоваться сгенерировать токен вручную.
EDIT: токен возвращается брокером как не хэшированное значение, в то же время он хранится в базе данных как хэшированное значение. Убедитесь, что значение маркера нехешированной представляется способ reset() в качестве параметра token без подчеркивания, в отличие от CSRF _token .
Кроме того, ваша модель Customer должна расширять Authenticatable .
Похожие вопросы:
Я реализовал ASP.NET Identity в своем приложении MVC, скопировав код из шаблонов VS 2013. Основная вещь работает, но я не смог заставить пароль сброса работать. Когда я показываю страницу forgot.
Я пишу MVC 5 и использую Identity 2.0. Теперь я пытаюсь сбросить пароль. Но я всегда получаю ошибку invalid token для сброса токена пароля. public class AccountController : Controller < public.
Я использую devise gem для аутентификации. В моем приложении admin будет создавать пользователей, поэтому я хочу, чтобы ссылка на сброс пароля пользователя при создании admin создавала.
я только что установил laravel5, перенес таблицу users и вставил пользователей в таблицу. теперь я хочу изменить пароль с помощью сброса пароля в laravel5. когда вы используете email для сброса.
Я пишу тест,который гарантирует, что функция сброса пароля моего приложения работает. Система сброса пароля была создана с помощью команды php artisan make:auth . Чтобы пройти тест, мне нужно.
Я использую уведомление, чтобы отправить email пользователю, что кто-то создал для него учетную запись. Я пытаюсь понять, как отправить им действие на страницу пароля/сброса. Мне нужно добавить.
Мне нужно перезаписать сообщение об ошибке, если токен сброса пароля истек. По умолчанию он показывает токен сброса пароля недействителен, но вместо этого мне нужен другой текст. Я работаю с Laravel.
Я разрабатываю приложение Laravel. Сейчас я настраиваю функцию сброса пароля. Существует проблема с получением маркера сброса пароля обратно из базы данных, поскольку строка маркера изменяется при.
У меня возникла проблема в моем сбросе пароля и я получаю ошибку этого токена сброса пароля недействителен я не могу решить эту проблему: мой контроллер: class ResetPasswordController extends.
у меня возникла эта проблема при попытке сбросить пароль, после установки locale в моих маршрутах/интернете, как это: МАРШРУТЫ/WEB Route::get(‘/’, function () < return.
Источник