Laravel5.6のログイン認証でDBのテーブルとフィールドを変更する(passwordフィールドも変更)その1

初投稿です。　よろしくお願いします。
laravel5.6での開発を行うことになったので、備忘録をかねての投稿です。

前提として、```php artisan make:auth``` を実行済み

DB：MySQL5.5
認証で使用するテーブル名：STORE
認証で使用するフィールド名：STORE_ID、STORE_PASS(Bcryptされていない、かつBcryptしないでほしいとのこと)

※2018/7/10　追記
vendor以下のファイル(EloquentUserProvider.php)を修正しなくてもいいように、下記の記事に記載しました。
[Laravel5.6のログイン認証でDBのテーブルとフィールドを変更する(passwordフィールドも変更)その2](https://qiita.com/haya_take/items/13c2741d702924f03040)

###編集するファイル
- app\User.php
- app\Http\Controllers\Auth\LoginController.php
- app\Providers\AppServiceProvider.php
- vendor\laravel\framework\src\Illuminate\Auth\EloquentUserProvider.php
- resources\views\auth\login.blade.php

※ソースコードの部分は、追記と変更箇所を記載しているだけです。
use部分や変更なしのコード部分は省略しています。

```User.php
    //追記する部分
    //テーブル名の指定
    protected $table = 'STORE';

    protected $guarded = array('STORE_ID','STORE_PASS');

    //パスワードの取得部分
    public function getAuthPassword()
    {
        //STOREテーブルでBcryptされていないので、ここでする。
        //Bcryptされているフィールドの場合は、Hash::makeを使用しない
        $hash_pass = Hash::make($this->STORE_PASS);
        return $hash_pass;
    }

    //変更する部分
    protected $fillable = [
        //'name', 'email', 'password',
        'STORE_ID', 'STORE_PASS',
    ];

    //今回はremember_tokenも使わないので、コメントアウトしてます。
    protected $hidden = [
        //'password',
        'STORE_PASS',
        //'remember_token',
    ];
```

```LoginController.php
    //追記する部分
    //実際のログイン処理
    public function login(Request $request)
    {
        $message = '';
        if ($request->isMethod('post')) {

            $authinfo =[
                'STORE_ID' => $request->STORE_ID,
                'STORE_PASS' => $request->STORE_PASS
            ];

            if (Auth::attempt($authinfo)){
                //認証成功時のとび先(環境に合わせて変更してください)
                $message = 'validate ok!';
                return view('home',[
                    'message' => $message
                ]);
            }else{
                $message = 'ログインに失敗しました。';
            }
        }

        //認証失敗時のとび先(環境に合わせて変更してください)
        return view('auth.login',[
            'message' => $message
        ]);

    }

    public function STORE_ID()
    {
        return 'STORE_ID';
    }

    public function STORE_PASS()
    {
        return 'STORE_PASS';
    }
```

```AppServiceProvider.php
    //追記する部分
    public function boot()
    {
        //MySQLのバージョンが古かったので、追記
        Schema::defaultStringLength(191);
    }
```

```EloquentUserProvider.php

   //変更する部分
    /**
     * Validate a user against the given credentials.
     *
     * @param  \Illuminate\Contracts\Auth\Authenticatable  $user
     * @param  array  $credentials
     * @return bool
     */
    public function validateCredentials(UserContract $user, array $credentials)
    {

        //ここでエラーが出てしまい、うまい解決策をまだ模索中なので直接変更してます。
        //$plain = $credentials['password'];
        $plain = $credentials['STORE_PASS'];
        
        return $this->hasher->check($plain, $user->getAuthPassword());
    }
```

```login.blade.php
@extends('layouts.app')

@section('content')
<div class="container">
    <div class="row justify-content-center">
        <div class="col-md-8">
            <div class="card">
                <div class="card-header">{{ __('ログイン画面') }}</div>

                <div class="card-body">
                    <form method="POST" action="{{ route('login') }}">
                        @csrf

                            @if (isset($message))
                            <div class="form-group row">
                                {{$message}}<br />
                            </div>
                            @endif

                        <div class="form-group row">
                            <label for="STORE_ID" class="col-sm-4 col-form-label text-md-right">{{ __('ログインID') }}</label>

                            <div class="col-md-6">
                                <!-- <input id="STORE_ID" type="text" class="form-control{{ $errors->has('STORE_ID') ? ' is-invalid' : '' }}" name="STORE_ID" value="{{ old('STORE_ID') }}" required autofocus> -->
                                     <input id="STORE_ID" type="text" class="form-control" name="STORE_ID" value="{{ old('STORE_ID') }}" required autofocus>
                                @if ($errors->has('STORE_ID'))
                                    <span class="invalid-feedback">
                                        <strong>{{ $errors->first('STORE_ID') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group row">
                            <label for="STORE_PASS" class="col-md-4 col-form-label text-md-right">{{ __('パスワード') }}</label>

                            <div class="col-md-6">
                                <input id="STORE_PASS" type="password" class="form-control{{ $errors->has('STORE_PASS') ? ' is-invalid' : '' }}" name="STORE_PASS" required>

                                @if ($errors->has('STORE_PASS'))
                                    <span class="invalid-feedback">
                                        <strong>{{ $errors->first('STORE_PASS') }}</strong>
                                    </span>
                                @endif
                            </div>
                        </div>

                        <div class="form-group row mb-0">
                            <div class="col-md-8 offset-md-4">
                                <button type="submit" class="btn btn-primary">
                                    {{ __('Login') }}
                                </button>

                            </div>
                        </div>
                    </form>
                </div>
            </div>
        </div>
    </div>
</div>
@endsection
```

以上になります。
もっといいやり方やご指摘等ありましたら、コメントいただけると嬉しいです。