Devise Token Auth确认邮件链接已过期

我目前正在开发一个网站,我在使用devise token auth时遇到了一个确认链接的问题。

一切都在正常工作,当有人注册后,他们会收到一封带有确认链接的电子邮件。这个链接正在确认并正常工作,但是当这个链接过期时(我在配置中设置了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。但应该有一个重定向网址,当你得到一个错误的时候

有什么想法吗

解决方案:

你可以覆盖 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',

设备令牌-认证文档

给TA打赏
共{{data.count}}人
人已打赏
未分类

如何在python中把数据框插入到mysql表中?

2022-9-8 19:48:39

未分类

如何获得拼写检查器的响应json solr。

2022-9-8 19:48:41

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索