paulkatipunan / password_reset
重置密码
dev-master
2018-11-22 08:55 UTC
This package is auto-updated.
Last update: 2024-09-22 22:36:40 UTC
README
Laravel密码重置。
安装
使用Composer安装包
composer require paulkatipunan/password_reset
在config/app.php中注册包的服务提供者
'providers' => [
PaulKatipunan\ServiceProvider::class,
],
运行Artisan命令
php artisan vendor:publish --provider="PaulKatipunan\ServiceProvider" --tag="email-template"
这将发布密码重置链接的电子邮件模板。如果您想修改它,也可以。您可以在电子邮件中包含用户详情。示例
{{$user->email}}, {{$user->name}}
运行此Artisan命令:如果您想发布更改密码blade文件。
php artisan vendor:publish --provider="PaulKatipunan\ServiceProvider" --tag="change-password-blade-file"
如果您发布了更改密码的blade文件,在点击电子邮件中发送的链接后,您将被重定向到更改密码的blade文件;如果没有发布blade文件,这将返回一个对象。
示例
{
"email": "your_email@gmail.com",
"token": "MWBtYVqpkotOehmVwPgCSXn3iKgYsdcIWJF7HyLQQESwWgA9pBx3Kw1isMhT",
"created_at": "2018-11-22 06:09:59"
}
配置
Laravel的邮件发送器需要配置。在.env文件中填写这些值
MAIL_DRIVER=smtp
MAIL_HOST=smtp.gmail.com
MAIL_PORT=587
MAIL_USERNAME=your_email@gmail.com
MAIL_PASSWORD=youemailpassword
MAIL_ENCRYPTION=ssl
MAIL_FROM_EMAIL=from_mail@gmail.com
MAIL_SUBJECT=Reset password
如果您使用Gmail,您还需要启用“不安全应用”
https://myaccount.google.com/u/1/lesssecureapps
用法
在控制器中,只需使用sendPasswordResetLink()辅助函数,您需要传递电子邮件。
public function create(Request $request)
{
return sendPasswordResetLink(request('email'));
}
如果您已经设置了.env,那么将电子邮件传递给辅助函数并检查您的电子邮件,这将发送密码重置链接。
示例
your view.blade.php
<html>
<head></head>
<body>
<form action="{{ route('password.reset') }}" method="post">
{{csrf_field()}}
<input type="text" name="email" placeholder="email">
<input type="submit" value="submit">
</form>
</body>
</html>
your route/web.php
Route::post('password/reset/request', 'PasswordResetController@send')->name('password.reset');
your Controller
public function send(Request $request)
{
return sendPasswordResetLink(request('email'));
}