You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel:ResetPassword::createUrlUsing在AppServiceProvider的boot方法中不生效

Laravel密码重置URL修改未生效的解决方法

问题

尝试修改Laravel的密码重置URL,按照官方文档所述在AppServiceProvider的boot方法中添加了自定义代码,但邮件中的URL仍未改变,需要排查哪些操作?

用户添加的代码:

/**
 * Bootstrap any application services.
 *
 * @return void
 */
public function boot()
{
    ResetPassword::createUrlUsing(function (User $user, string $token) {
        return config('app.frontend_url').'auth/reset-password?token='.$token.'&email='.$user->email;
    });
}

排查步骤

  • 检查命名空间:确认AppServiceProvider顶部已引入ResetPassword类,代码为use Illuminate\Auth\Notifications\ResetPassword;,未引入的话自定义逻辑不会执行。
  • 验证配置项:检查.env文件是否配置了FRONTEND_URL(如FRONTEND_URL=https://你的前端域名.com/),同时执行php artisan config:clear清除配置缓存,确保config('app.frontend_url')能正确读取值。
  • 清除路由缓存:执行php artisan route:clear,避免旧路由逻辑被缓存导致新配置不生效。
  • 检查自定义通知类:如果项目中User模型重写了sendPasswordResetNotification方法,使用了自定义的密码重置通知类,那么需要在该自定义类中设置URL生成逻辑,而非仅在AppServiceProvider中配置。比如自定义通知类需继承ResetPassword,并在类中调用createUrlUsing,或者直接在toMail方法中构造URL。
  • 清除应用缓存:执行php artisan cache:clear和php artisan view:clear,确保缓存的应用数据和视图被更新。
  • 使用新重置链接测试:测试时务必重新请求密码重置邮件,旧的重置链接是之前生成的,不会受新配置影响。

内容的提问来源于stack exchange,提问作者Hamid Hosseini

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.13 21:32:33