Выполняю аутентификацию пользователя с помощью пользовательской таблицы. Я могу успешно войти в систему как, когда я в AuthController.php
Laravel не создает аутентифицированный сеанс для пользователя
public function authenticated(Request $request, $user)
{
dd($user);
}
Я получаю информацию о пользователе.
Но когда я получить доступ к какому-либо другому маршруту, и в соответствующем контроллере, когда я делаю
dd(Auth::user())
возвращаетnull
dd(session()->all())
возвращает_token
dd(Auth::check())
возвращаетfalse
Я использую public_users
стол для аутентификации ионов и public_email
, public_password
поля для ведения аутентификации, поэтому я изменил файл App\User.php
следующим образом:
class User extends Authenticatable
{
protected $table = 'public_users';
protected $primaryKey = 'public_users_id';
protected $fillable = [
'public_email',
'public_password'
];
protected $hidden = [
'public_password'
];
// Override required, Otherwise existing Authentication system will not match credentials
public function getAuthPassword()
{
return $this->public_password;
}
}
и app/Http/Controllers/Auth/AuthController.php
Я добавил код ниже
public function loginUsername()
{
return property_exists($this, 'username') ? $this->username : 'public_email';
}
public function authenticated(Request $request, $user)
{
dd($user);
}
и мой config/auth.php
имеет
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token',
'provider' => 'users',
],
],
'providers' => [
'users' => [
'driver' => 'eloquent',
'model' => App\User::class,
]
]
Что я делаю неправильно? Как я могу создать сеанс пользователя?
Любая помощь оценена!