设计恢复您的密码重定向URL错误

时间:2019-04-08 18:11:04

标签: ruby-on-rails ruby-on-rails-4 heroku devise

因此,首先,我不是最熟悉Rails或heroku,所以最终可能会比我担心的要简单。我一直在帮助一家初创公司(不太清楚发生了什么,但是他们的开发人员生病了,现在他们没有任何人可以维护/开发他们的网站)。该系统构建在Rails 4.2.6上

上周,我们偶然发现了错误的重定向(未找到服务器)。由于有一个登台服务器以及主要的生产系统,所以我去检查它是否也在发生。

在确认这确实是在两个服务器中都发生之后,我去检查了reset_password_instruction.html.slim中使用的电子邮件模板(这是发送给用户的电子邮件模板)。 rake routes生成的路由列表中不存在url帮助器(如果名称正确)。 (您会发现可以在其他地方找到类似的问题,例如:devise issues 我将网址从edit_password_url更改为edit_user_password_url,在本地和登台服务器中对其进行了测试,一切都很好... 但这仍然将我重定向到主站点中不存在的服务器

有些困惑,我回溯了所有步骤以确保我没有做错任何事情,检查了heroku中的登台服务器和主服务器中的代码,一切基本相同。不过,最奇怪的是重定向URL。据我了解,页面如下:

“ www.mypage.com”将具有一个重定向网址,例如“ www.mypage.com/users/password/edit/userId”或类似名称,但它会将我重定向到以下网址: “ {http://mailtracker.allbands.com.br/wf/click?upn=wvr ...”(这3个点让我省略了网址的其余部分。

我到处都在寻找这个mailtracker子域,甚至将其添加到DNS规则中,但一无所获。在阶段中,URL还是有点时髦: https://u3138184.ct.sendgrid.net/wf/click?upn=tF6axPyJ ... 尽管如此,它仍能正常工作,这只会增加我的困惑...

我怀疑有某种heroku软件包可以构建这些URL,但是在此过程中有些混乱。 heroku使用的资源包括:SendGrid,New Relic APM和一些最可能无关的数据库内容。我想在SendGrid上下注,但是在他们的仪表板中没有发现与URL相关的内容。

routes.br

devise_for :users, controllers: {sessions: "sessions",
    omniauth_callbacks: "users/omniauth_callbacks",
    registrations: "users/registrations"},
    path_names: {sign_in: "sign-in",
    sign_out: "sign-out",
    sign_up: "sign-up"}

devise_scope :user do
    get "set_user_info", to: "users/registrations#set_user_info"
  end

rake routes | grep password

user_password POST /users/password(.:format) devise/passwords#create
new_user_password GET /users/password/new(.:format)devise/passwords#new
edit_user_password GET /users/password/edit(.:format) devise/passwords#edit
PATCH /users/password(.:format) devise/passwords#update
PUT /users/password(.:format)   devise/passwords#update

reset_password_instruction.html.slim

= render 'header'
p
  | Someone asked for a link to change your password. YOu can do so with the link below:
p
  = link_to 'Change my password', edit_password_url(@resource, reset_password_token: @token)

0 个答案:

没有答案