动态域在重置密码链接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$请求传递给createUrlUsing函数。这样做的主要目的是避免在我的API中对前端URL进行硬编码。我只想让我前端的忘记密码表单发送电子邮件和域。

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

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

最新更新