Невозможно выполнить вход, даже если подтверждение пользователя успешно выполнено в devise_token_auth - PullRequest
0 голосов
/ 04 мая 2019

Это спецификации версии, используемые в моем приложении,

рельсы 5.2.3 рубин 2.6.2 devise_token_auth 1.1.0

Во время регистрации пользователя с этой конечной точкой, http://localhost:3000/api/v1/auth/ Я получил URL подтверждения следующим образом: http://localhost:3000/api/v1/auth/confirmation?config=default&confirmation_token=GHz9m52xVeQJJLFLJnWw&redirect_url=%2F

При нажатии на указанный выше URL-адрес подтверждения я мог видеть, что метод "ConfirmationsController # show" может вызываться дважды. При первом вызове он говорит, что подтверждение получено успешно, а при втором вызове он выдает ошибку как «[{: error => :ready_confirmed}]}>», тогда это приводит к ошибке маршрутизации,

Started GET "/api/v1/auth/confirmation?config=default&confirmation_token=GHz9m52xVeQJJLFLJnWw&redirect_url=%2F" for ::1 at 2019-05-04 14:45:46 +0530
Processing by DeviseTokenAuth::ConfirmationsController#show as HTML
  Parameters: {"config"=>"default", "confirmation_token"=>"GHz9m52xVeQJJLFLJnWw", "redirect_url"=>"/"}
  User Load (0.7ms)  SELECT  "users".* FROM "users" WHERE "users"."confirmation_token" = $1 ORDER BY "users"."id" ASC LIMIT $2  [["confirmation_token", "GHz9m52xVeQJJLFLJnWw"], ["LIMIT", 1]]
  ↳ /home/user/.rvm/gems/ruby-2.6.2@church/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:98
   (0.3ms)  BEGIN
  ↳ /home/user/.rvm/gems/ruby-2.6.2@church/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:98
  User Update (0.7ms)  UPDATE "users" SET "confirmed_at" = $1, "updated_at" = $2 WHERE "users"."id" = $3  [["confirmed_at", "2019-05-04 09:15:46.325684"], ["updated_at", "2019-05-04 09:15:46.326717"], ["id", 26]]
  ↳ /home/user/.rvm/gems/ruby-2.6.2@church/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:98
   (1.4ms)  COMMIT
  ↳ /home/user/.rvm/gems/ruby-2.6.2@church/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:98
Redirected to http://localhost:3000:///?account_confirmation_success=true
Completed 302 Found in 21ms (ActiveRecord: 3.1ms)


Started GET "/api/v1/auth/confirmation?config=default&confirmation_token=GHz9m52xVeQJJLFLJnWw&redirect_url=%2F" for ::1 at 2019-05-04 14:45:46 +0530
Processing by DeviseTokenAuth::ConfirmationsController#show as HTML
  Parameters: {"config"=>"default", "confirmation_token"=>"GHz9m52xVeQJJLFLJnWw", "redirect_url"=>"/"}
  User Load (0.7ms)  SELECT  "users".* FROM "users" WHERE "users"."confirmation_token" = $1 ORDER BY "users"."id" ASC LIMIT $2  [["confirmation_token", "GHz9m52xVeQJJLFLJnWw"], ["LIMIT", 1]]
  ↳ /home/user/.rvm/gems/ruby-2.6.2@church/gems/activerecord-5.2.3/lib/active_record/log_subscriber.rb:98
Completed 404 Not Found in 6ms (ActiveRecord: 0.7ms)



ActionController::RoutingError (Not Found):

devise_token_auth (1.1.0) app/controllers/devise_token_auth/confirmations_controller.rb:30:in `show'
actionpack (5.2.3) lib/action_controller/metal/basic_implicit_render.rb:6:in `send_action'

Когда войдите с этим URL, http://localhost:3000/api/v1/auth/sign_in Я получил ответ как,

{ «успех»: ложь, "ошибки": [ «В вашу учетную запись было отправлено письмо с подтверждением по адресу« 123@gmail.com ». Чтобы активировать свою учетную запись, вы должны следовать инструкциям, указанным в электронном письме». ] }

Вопросы, 1. Почему «ConfirmationsController # show» вызывается дважды при нажатии URL-адреса подтверждения? 2. Почему пользователь не может войти в систему, даже если подтверждение получено?

Что я здесь пропустил?

...