【问题标题】:Laravel wrong password reset linkLaravel 错误密码重置链接
【发布时间】:2018-07-28 06:58:25
【问题描述】:

我在laravel 中遇到了这个问题,我好几天都无法解决。希望有人能指出我正确的方向。

密码重置链接在我的本地主机设置example 上正常工作

但是,当我将它部署到生产服务器上时,我得到的密码重置 link 是不同的。

它似乎暗示了引号而不是 '/' 这应该是正确的 url。任何人都知道修复这个错误的密码重置链接错误的正确方法是什么?

【问题讨论】:

  • 您是如何生成 URL 代码的?你的路线是什么样的?这些东西之间可能不匹配。
  • 这实际上是我的路线...Route::get('passwords/reset/{token}', 'Auth\ResetPasswordController@showResetForm')->name('password.resetForm');
  • 您是如何在刀片模板上生成实际 URL 的?你是在使用route() 助手还是别的什么?
  • 这是我用来发送电子邮件的路由 Route::post('passwords/email', 'Auth\ForgotPasswordController@sendResetLinkEmail')->name('password.sendEmail'); ..在刀片前端明智..我只需使用标准表单操作
    {{csrf_field()}}
    它确实会发送到我的邮件,但是重置 url 在生产服务器上是错误的,而不是在本地主机上
  • 我怀疑您的某些路线之间存在路线冲突,例如 GET password/resetGET password/reset/token 。如果您像 route('password.reset', $token) 这样传递您的令牌参数,那么它可能会尝试将您的令牌作为 GET 参数应用到错误的路由,而不是作为 URL 本身的一部分(即 /reset?{token} 而不是 reset/{令牌})。要确认是否是这种情况,请尝试将您的网址更改为其他内容。

标签: laravel passwords reset


【解决方案1】:

我怀疑发生的事情是您的某些路由之间存在路由冲突,例如 GET password/reset 和 GET password/reset/token。

如果您像这样传递您的令牌参数 route('password.reset', $token) 那么它可能会尝试将您的令牌作为 GET 参数应用到错误的路由,而不是作为 URL 本身的一部分(即, /reset?{token} 而不是 reset/{token})。

要确认是否是这种情况,请尝试将您的网址更改为其他网址。

【讨论】:

  • 很抱歉投了反对票,这是我的失误...请忽略它,谢谢
  • 确实,因为路线冲突,我已经解决了
猜你喜欢
  • 2019-11-26
  • 1970-01-01
  • 2016-07-11
  • 2019-01-12
  • 1970-01-01
  • 1970-01-01
  • 2021-07-26
  • 1970-01-01
相关资源
最近更新 更多