Для реализации верификации почты в Laravel 10 API с использованием Vue 2.6 вам потребуется выполнить следующие шаги:
1. Настройка маршрутов:
Route::prefix('email')->middleware('api')->group(function () { Route::post('verification-notification', 'VerificationController@sendVerificationEmail'); Route::get('verify-email', 'VerificationController@verifyEmail'); });
2. Создание контроллера VerificationController:
php artisan make:controller VerificationController
class VerificationController extends Controller { public function sendVerificationEmail(Request $request) { $request->user()->sendEmailVerificationNotification(); return response()->json(['message' => 'Verification email sent']); } public function verifyEmail(Request $request) { $userId = $request->query('id'); $user = User::findOrFail($userId); if ($user->hasVerifiedEmail()) { return response()->json(['message' => 'Email already verified']); } if ($user->markEmailAsVerified()) { event(new Verified($user)); } return response()->json(['message' => 'Email verified']); } }
3. Обновите модель User:
use IlluminateContractsAuthMustVerifyEmail; use IlluminateAuthMustVerifyEmail as MustVerifyEmailTrait; use IlluminateFoundationAuthUser as Authenticatable; class User extends Authenticatable implements MustVerifyEmail { use MustVerifyEmailTrait; }
4. Добавьте интерфейс MustVerifyEmail к маршрутам аутентификации в RouteServiceProvider:
protected function mapApiRoutes() { Route::prefix('api') ->middleware('api') ->namespace($this->namespace) ->group(base_path('routes/api.php')); }
5. Наконец, на стороне клиента (Vue) вам нужно создать форму для отправки запроса на отправку верификационного письма и для подтверждения кода верификации.
Это основные шаги для реализации верификации почты в Laravel 10 API с использованием Vue 2.6. Не забудьте настроить вашу систему отправки электронной почты в файле .env и создать представления для электронной почты в вашем проекте Laravel.