Я пытаюсь войти в систему пользователей на основе моего ответа API. Как я могу настроить свой контроллер для входа пользователей?
Я читал документацию, но она не объясняет, как на самом деле вызывается функция входа в контроллер или работает функция аутентификации, только что нашел статьи, использующие эти функции в контроллере.
<?php
namespace App\Http\Controllers\Auth;
use App\Http\Controllers\Controller;
use Illuminate\Foundation\Auth\AuthenticatesUsers;
use Illuminate\Http\Request;
use App\Library\API;
class LoginController extends Controller
{
/*
|--------------------------------------------------------------------------
| Login Controller
|--------------------------------------------------------------------------
|
| This controller handles authenticating users for the application and
| redirecting them to your home screen. The controller uses a trait
| to conveniently provide its functionality to your applications.
|
*/
use AuthenticatesUsers;
/**
* Where to redirect users after login.
*
* @var string
*/
protected $redirectTo = '/home';
public function username()
{
return 'name';
}
public function login(Request $request)
{
$APIresponse = API::login($request->all());
if ($APIresponse->status !== 'logged_in') return $this->sendFailedLoginResponse($request);
return $this->authenticated($request, auth()->user());
}
/**
* Create a new controller instance.
*
* @return void
*/
public function __construct()
{
$this->middleware('guest')->except('logout');
}
}
После того, как кто-то войдет в систему, он должен быть перенаправлен на домашнюю страницу, а его имя должно отображаться в правом верхнем углу. К сожалению, даже если я верну представление «домой», их имя не отображается, и пользователь фактически не вошел в систему (возврат к /home снова отобразит страницу входа).
редактировать: представления по умолчанию поставляются с php artisan make:auth






public function login(Request $request)
{
$APIresponse = API::login($request->all());
if ($APIresponse->status !== 'logged_in') return $this->sendFailedLoginResponse($request);
$this->attemptLogin($request);
return redirect()->intended($this->redirectPath());
}
Это фактически войдет в систему пользователей.