Devise: Недействительный токен подтверждения

Созданный на 23 сент. 2015  ·  4Комментарии  ·  Источник: heartcombo/devise

Я попробовал то, что было показано в этом (https://github.com/plataformatec/devise/wiki/How-To:-Override-confirmations-so-users-can-pick-their-own-passwords-as-part-of -confirmation-activation) вики-страница, использующая devise 3.5.2 и rails 4.2.1 в движке rails, и всегда получала «Неверный токен» при попытке подтвердить учетную запись.

Я не знаю, нужно ли обновлять вики или есть какая-то другая проблема.

Когда я заменил

    <strong i="8">@confirmable</strong> = User.find_or_initialize_with_error_by(:confirmation_token, confirmation_token)

с этим:

    <strong i="12">@confirmable</strong> = User.find_or_initialize_with_error_by(:confirmation_token, original_token)

Все сработало, как и ожидалось

Все 4 Комментарий

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

В частности, учитывая, что вы уже нашли правильное решение, было бы здорово, если бы вы могли просто обновить вики. Спасибо!

Я тоже столкнулся с этой проблемой. Исправление противоречит здравому смыслу. Это странно, потому что похоже, что вы берете необработанный незашифрованный токен из параметров и ищете пользователя по нему. Но я думал, что у пользователя хранится только зашифрованный токен.

Значит, Devise делает что-то за кулисами с этой строкой?

  original_token = params[:confirmation_token]

Просто обновите вики https://github.com/plataformatec/devise/wiki/How-To:-Override-confirmations-so-users-can-pick-their-own-passwords-as-part-of-confirmation-activation /_compare/030dda7c5edaf339b7c0023139fbd3214f702cad...c6a9649499dc8f73d77d2e4705bbeb1f1b334568

Была ли эта страница полезной?
0 / 5 - 0 рейтинги