Истек срок действия ссылки для подтверждения авторизации токена Devise Token - PullRequest
0 голосов
/ 24 апреля 2020

В настоящее время я занимаюсь разработкой веб-сайта, и у меня возникла проблема со ссылкой для подтверждения с помощью устройства devise token.

Все работает правильно, после того, как кто-то зарегистрировался, он получил письмо со ссылкой для подтверждения. Эта ссылка подтверждает и работает должным образом, НО, когда срок действия этой ссылки истекает (я установил ее в конфигурации с config.confirm_within = 1.day) или кто-то снова щелкает эту ссылку, и он получает сообщение «Ошибка маршрутизации». Поэтому я полагаю, что должен быть способ перенаправления на домашнюю страницу, когда срок действия этой ссылки истекает и, возможно, отображается сообщение о том, что они должны запросить подтверждение по электронной почте еще раз.

У меня есть эти маршруты подтверждения:

new_api_user_confirmation GET    /api/auth/confirmation/new(.:format)   devise_token_auth/confirmations#new
api_user_confirmation     GET        /api/auth/confirmation(.:format)   devise_token_auth/confirmations#show
                          POST       /api/auth/confirmation(.:format)   devise_token_auth/confirmations#create

Я использую последний маршрут POST для повторной отправки электронной почты, и он работает, но другой маршрут не работает, и это имеет смысл, потому что я использую API. Но должен быть URL перенаправления, когда вы получаете сообщение об ошибке

Есть мысли? заранее спасибо

1 Ответ

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

вы можете переопределить DeviseTokenAuth::ConfirmationsController#show и перенаправить на root_path

DeviseTokenAuth ConfirmationsController # show

class ConfirmationsController < DeviseTokenAuth::ConfirmationsController    
  def show
    ...
    else
      # raise ActionController::RoutingError, 'Not Found'
      redirect_to :root_path
    end
  ...

на маршрутах

mount_devise_token_auth_for 'User', at: 'auth', controllers: {
  # confirmations:  'devise_token_auth/confirmations',
  confirmations:  'confirmations',

документы devise-token-auth

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