Revisé la documentación y pasé horas tratando de resolver esto, y este es realmente mi último recurso. Si esto no funciona, es posible que deba obtener una suscripción a Laracasts. Estoy siguiendo esta guía y no parece estar funcionando para mí. https://laravel.com/docs/5.4/session
Espero que alguien me pueda ayudar y decirme que estoy haciendo mal. Cuando realizo mi solicitud de API, obtengo una respuesta exitosa y devuelve al usuario de la base de datos, pero no crea la sesión en la tabla de sesiones. Además, no recibo ningún error en laravel.log.
Puedo crear un usuario sin problemas. Puedo hacer coincidir las contraseñas cifradas al recuperar el usuario.
api.php
Route::middleware('auth:api')->get('/user', function (Request $request) { return $request->user(); }); Route::post('/users', 'UserApiController@login');UserApiController.php
public function login() { $input = Request::all(); $user = new User(); $response = ['success' => false]; if (!$user->validate($input)) { return response()->json($response, 412); } $user = User::where('Email', $input['Email'])->where('Password', User::makePassword($input['Password']))->first(); Log::info($user); //returns the user object successfully if (!isset($user)) { return response()->json($response, 401); } session('user', $input]); //<--this is not working $response['success'] = true; return response()->json($response, 200); }No estoy seguro de si escribiste lo que realmente quieres lograr, pero esto es lo que pienso: estás usando un grupo de middleware api y quieres usar sesiones. Pero si observa app/Http/Kernel.php , verá que las sesiones se usan de forma predeterminada solo por el grupo de middleware web :
\Illuminate\Session\Middleware\StartSession::class, por lo que puede agregar este middleware al grupo api o repensar lo que realmente quiere lograr porque las API generalmente no tienen estado, por lo que normalmente no usa sesiones para ellas porque en cada solicitud envía datos de autorización ( api_token en este caso por defecto) entonces cada vez que se puede averiguar qué usuario está haciendo la solicitud