В данный момент я пишу API в Laravel и использую паспорт. Мой клиент будет использовать собственный API, поэтому я использую персональный доступ в Passport.
Я не хочу показывать свой маршрут oauth и предоставлять идентификатор или секрет в запросе POST, поэтому я создал маршрут, который размещает сообщения пользователя также для входа в систему, а затем обрабатывает отправку запроса POST на маршрут oauth / token, например ниже,
protected function authenticate(Request $request) {
//return $request->input();
//return Response::json($this->client);
$email = $request->input('username');
$password = $request->input('password');
$request->request->add([
'username' => $email,
'password' => $password,
'grant_type' => 'password',
'client_id' => $this->client->id,
'client_secret' => $this->client->secret,
'scope' => '*'
]);
$tokenRequest = Request::create(
env('APP_URL').'/oauth/token',
'post'
);
return Route::dispatch($tokenRequest)->getContent();
}
Моя проблема в том, что моя аутентификация возвращает 200 независимо от того, был ли вход в систему oauth успешным. Есть ли способ запустить маршрут от контроллера и вернуть для него этот http-код, а не метод, который он был вызван из HTTP-ответа?