代わりに php artisan ui vue --auth コマンドが追加されました。
composer require laravel/ui
php artisan ui bootstrap --auth
npm install && npm run dev
composer require laravel/ui
npm install
php artisan ui vue --auth
npm install && npm run dev
Laravel で最初にやっておいた方が良い初期設定|プログラムメモ
php artisan migrate
https://YOUR-SERVER.TLD/login
app/User.php
class User extends Authenticatable
{
↓
class User extends Authenticatable implements MustVerifyEmail
{
routes/web.php
Auth::routes();
↓
Auth::routes([
'verify' => true, // メール確認機能(※5.7系以上のみ)
'register' => true, // デフォルトの登録機能ON
'reset' => true, // メールリマインダー機能ON
]);
auth だと本登録しなくてもログインできてしまうので authの後に verified を追加します
Route::group(['middleware' => ['auth']], function () {
Route::get("file/downloadlocalfile/", "FrontFileController@downloadlocalfile")->name("file.downloadlocalfile");
});
↓ auth verified に変更する
Route::group(['middleware' => ['auth', 'verified']], function () {
Route::get("file/downloadlocalfile/", "FrontFileController@downloadlocalfile")->name("file.downloadlocalfile");
});
app/Http/Controllers/Auth/LoginController.php
/**
* ユーザーが認証された後の処理
*
* @param \Illuminate\Http\Request $request
* @param mixed $user
* @return mixed
*/
protected function authenticated(\Illuminate\Http\Request $request, $user)
{
if( $user->email_verified_at === null ){
return redirect()->route('verification.notice', ['message'=>'メールアドレス認証が完了していません']);
}
}
app/Http/Controllers/Auth/VerificationController.php
public function resend( \Illuminate\Http\Request $request)
{
if ($request->user()->hasVerifiedEmail()) {
return $request->wantsJson()
? new Response('', 204)
: redirect($this->redirectPath());
}
$request->user()->sendEmailVerificationNotification();
return $request->wantsJson()
? new Response('', 202)
: back()->with('resent', true);
}
また、確認メールを送信したかどうかは ビューファイル resources/views/auth/verify.blade.php の中で
@if (session('resent') == true )
確認メールを送信しました。(再送信する場合はクリック)
@else
確認メール再送信
@endif
のようにして取得できます。