見出し画像

Laravel 6.0 パスワード無しでログイン

9桁のシリアルコードを入力することでログインするシステムを想定して作る


認証をインストール

composer require laravel/ui 1.*
php artisan ui vue --auth

app/Http/Controllers/Auth/LoginController.php
ログイン処理を変更

    /**
    * ログイン処理
    *
    * シリアルコードのみでログインするように変更
    */
   public function login(Request $request)
   {
       $this->validateLogin($request);

       $userLoginColumn = $this->username();
       $serialcode = $request->$userLoginColumn;

       $userOrNull = User::where($userLoginColumn, $serialcode)->first();

       if ($userOrNull)
       {
           // 認証成功時、ユーザーIDからIDを取り出す。
           $userId = $userOrNull->id;
           $id = Auth::loginUsingId($userId);

           return redirect('/');
       } else {
           // 認証失敗時
           throw ValidationException::withMessages([
               $userLoginColumn => [trans('auth.failed')],
           ]);
       }
   }

デフォルトのバリデーションではパスワードが必須となっているので変更する

ここから先は

5,049字

¥ 100

この記事が気に入ったらサポートをしてみませんか?