Mi console.log(req.cookies) devuelve [Objeto: prototipo nulo] {}. No sé dónde está el problema. Recibe variables correctamente de Reactjs. JWT también funciona correctamente, pero comando: res.cookie('token', token); no funciona Cuando inicio el programa, devuelve: [Objeto: prototipo nulo] {}. Mi pregunta es: ¿Por qué me devuelve [Object: null prototype] {} . ¿Por qué hay {} vacío sin ningún valor?
índice.js:
const express = require('express') const cookieparser = require("cookie-parser"); const cors = require('cors') const jwt = require('jsonwebtoken') const mongoose = require('mongoose') const LoginModel = require('./db.js') const Login = require('./db.js'); const app = express() app.use(express.json()) app.use(cookieparser()); app.use(cors()) mongoose.connect('mongolink',{ useNewUrlParser: true, useUnifiedTopology: true }) app.post('/logging', async (req,res) =>{ const username = req.body.username const password = req.body.password if( username!=='' && password!=='') { const Find = await LoginModel.findOne({username:username}).exec() console.log(Find); if(Find!== null) { const token = jwt.sign({ username}, 'supersecret'); res.cookie('token', token); console.log(req.cookies); } } }) app.listen(3001)Iniciar sesión.js:
import React, {useState} from 'react' import './App.css'; import Axios from 'axios' import {Link} from 'react-router-dom' function App() { const [username,setusername] = useState('') const [password,setpassword] = useState('') const Login = () => { Axios.post('http://localhost:3001/logging', { username:username, password: password }) } return ( <div className="App"> <label>username</label> <input type='text' onChange={ (event) => { setusername( event.target.value ) } }/> <label>haslo</label> <input type='password' onChange={ (event) =>{ setpassword( event.target.value ) } }/> <button onClick={Login}>Login</button> </div> ); }