php邮箱验证laravel接口,Email认证 | Laravel 中文文档 - 码农教程
簡介
許多 web 應(yīng)用要求用戶在使用之前進(jìn)行 Email 地址驗(yàn)證。Laravel 不強(qiáng)迫你在每個應(yīng)用中重新實(shí)現(xiàn)它,Laravel提供了方便的方法來發(fā)送和驗(yàn)證電子郵件驗(yàn)證請求。
Model 預(yù)備
開始之前, 驗(yàn)證你的 App\User 模型是否實(shí)現(xiàn)了 Illuminate\Contracts\Auth\MustVerifyEmail 契約。 此外,你應(yīng)該使用 Illuminate\Auth\MustVerifyEmail trait:
namespace App;
use Illuminate\Auth\MustVerifyEmail;
use Illuminate\Notifications\Notifiable;
use Illuminate\Foundation\Auth\User as Authenticatable;
use Illuminate\Contracts\Auth\MustVerifyEmail as MustVerifyEmailContract;
class User extends Authenticatable implements MustVerifyEmailContract
{
use MustVerifyEmail, Notifiable;
// ...
}
數(shù)據(jù)庫注意事項
Email 驗(yàn)證字段
接下來, 你的 user 需要包含一個 email_verified_at 字段用來存儲 Email 地址通過驗(yàn)證的時間。默認(rèn)的,Laravel框架中 users 表的數(shù)據(jù)遷移內(nèi)已經(jīng)包含了這個字段。所以,您需要做的就是執(zhí)行數(shù)據(jù)庫遷移:
php artisan migrate
路由
Laravel 的 Auth\VerificationController 類包含了發(fā)送驗(yàn)證鏈接和驗(yàn)證 Email 的所需邏輯。 要為這個控制器注冊所需的路由 , 傳遞 verify 項給 Auth::routes 方法即可 :
Auth::routes(['verify' => true]);
保護(hù)路由
路由中間件 可用于僅允許經(jīng)過驗(yàn)證的用戶訪問給定路由。Laravel 附帶了 verified 中間件,它定義在 Illuminate\Auth\Middleware\EnsureEmailIsVerified。由于此中間件已在應(yīng)用程序的HTTP內(nèi)核中注冊,因此您需要做的就是將中間件附加到路由定義:
Route::get('profile', function () {
// 只有驗(yàn)證過的用戶可以進(jìn)入
})->middleware('verified');
視圖
當(dāng)執(zhí)行 make:auth 命令時,Laravel將生成郵箱驗(yàn)證需要的所有視圖。 視圖位于 resources/views/auth/verify.blade.php。您可以根據(jù)應(yīng)用需要自定義此視圖。
郵箱驗(yàn)證之后
在 Email 地址通過驗(yàn)證之后,用戶將被重定向到 /home。你可以通過在 VerificationController 中定義 redirectTo 方法或?qū)傩詠碜远x重定向地址:
protected $redirectTo = '/dashboard';
總結(jié)
以上是生活随笔為你收集整理的php邮箱验证laravel接口,Email认证 | Laravel 中文文档 - 码农教程的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: h2受体拮抗剂是什么意思
- 下一篇: 动态规划算法php,php算法学习之动态