重置密码链接中的动态域 Laravel 8

问题描述

我知道可以通过在 AuthServiceProvider.php

中添加以下功能来自定义密码重置链接
ResetPassword::createUrlUsing(function ($user,string $token) {
     return 'https://example.com/reset-password?token='.$token;
});

这是我的 sendResetPassword 函数

public function sendResetPassword(Request $request) {
        $request->validate(['email' => 'required|email']);

        $status = Password::sendResetLink(
            $request->only('email')
        );

        if ($status === Password::RESET_LINK_SENT) {
            return response()->json(['message' => __($status)],200);
        } else {
            return response()->json(['message' => __($status)],500);
        }
}

现在我想知道是否有办法将域从 sendResetPassword $request 传递到 createUrlUsing 函数。 这样做的主要目的是避免在我的 API 中硬编码前端 URL。我只希望前端中的忘记密码表单发送电子邮件和域。

解决方法

不确定这是否是最好的方法,但是当我发布问题后,我发现这是一个可行的解决方案:

ResetPassword::createUrlUsing(function ($user,string $token) {
     return $this->app->request->headers->get('origin').'/reset-password?token='.$token;
});

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...