I'm upgrading Laravel to 5.2 from 5.1, my auth.php
return [
/*
|--------------------------------------------------------------------------
| Default Authentication Driver
|--------------------------------------------------------------------------
|
| This option controls the authentication driver that will be utilized.
| This driver manages the retrieval and authentication of the users
| attempting to get access to protected areas of your application.
|
| Supported: "database", "eloquent"
|
*/
'driver' => 'eloquent',
/*
|--------------------------------------------------------------------------
| Authentication Model
|--------------------------------------------------------------------------
|
| When using the "Eloquent" authentication driver, we need to know which
| Eloquent model should be used to retrieve your users. Of course, it
| is often just the "User" model but you may use whatever you like.
|
*/
'model' => App\Models\User::class,
/*
|--------------------------------------------------------------------------
| Authentication Table
|--------------------------------------------------------------------------
|
| When using the "Database" authentication driver, we need to know which
| table should be used to retrieve your users. We have chosen a basic
| default value but you may easily change it to any table you like.
|
*/
'table' => 'users',
/*
|--------------------------------------------------------------------------
| Password Reset Settings
|--------------------------------------------------------------------------
|
| Here you may set the options for resetting passwords including the view
| that is your password reset e-mail. You can also set the name of the
| table that maintains all of the reset tokens for your application.
|
| The expire time is the number of minutes that the reset token should be
| considered valid. This security feature keeps tokens short-lived so
| they have less time to be guessed. You may change this as needed.
|
*/
'password' => [
'email' => 'emails.password',
'table' => 'password_resets',
'expire' => 60,
],
];
How should it look with the new update. The documentation has an example of auth.php for laravel 5.2 but i'm not sure what i should leave in my file and what i should modify. When i try to login to my app I get Auth guard [web] is not defined.
You should replace the whole configuration file with this, afterwards change the options to their desired value based on your old configuration file.
Based on what you posted here the only thing you would have to change is the users provider:
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\Models\User::class, // Changed from App\User::class
],
],
And the view path for the password reset mail:
'passwords' => [
'users' => [
'provider' => 'users',
'email' => 'emails.password', // Changed from auth.emails.password
'table' => 'password_resets',
'expire' => 60,
],
],
Although it may be a better idea to move the view for the mail to the new default location that Laravel suggests: auth.emails.password
Once you have updated the file with a fresh copy, set your authentication configuration options to their desired value based on your old configuration file. If you were using the typical, Eloquent based authentication services available in Laravel 5.1, most values should remain the same.
Take special note of the passwords.users.email configuration option in the new auth.php configuration file and verify that the view path matches the actual view path for your application, as the default path to this view was changed in Laravel 5.2. If the default value in the new configuration file does not match your existing view, update the configuration option.